:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;background:#f6f1e8;color:#201a17}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-x:hidden;background:linear-gradient(180deg,#f9f4ee,#efe8dc)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.status-message{display:flex;align-items:center;justify-content:center;height:100%;color:#6f5f52}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#6f5f52}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2rem,4vw,3rem)}.author{color:#5d534d;font-weight:600}.page-shell{max-width:1200px;margin:0 auto;padding:32px 20px 60px}.admin-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.admin-nav{position:sticky;top:var(--banner-height, 0px);align-self:start;height:calc(100vh - var(--banner-height, 0px));overflow-y:auto;display:flex;flex-direction:column;gap:24px;padding:28px 16px;border-right:1px solid rgba(32,26,23,.12);background:#ffffff73}.admin-brand{padding:0 12px}.admin-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.admin-nav-item{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border:none;border-radius:10px;background:none;font:inherit;font-weight:600;color:#5d534d;cursor:pointer}.admin-nav-icon{flex:none;width:1.25em;text-align:center;font-size:15px;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.admin-nav-item:hover{background:#201a170f;color:#201a17}.admin-nav-item.active{background:#201a17;color:#f6f1e8}.admin-nav-footer{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding:0 12px}.admin-account{margin:0;font-size:12px;color:#6f5f52;overflow-wrap:anywhere}.admin-content{max-width:1100px;padding:32px 28px 60px;min-width:0}.admin-topbar-mobile,.admin-nav-scrim{display:none}.admin-menu-toggle{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:10px;background:none;color:#201a17;cursor:pointer}.admin-menu-toggle:hover{background:#201a170f}.admin-menu-bars{position:relative;display:block;width:20px;height:14px}.admin-menu-bars span{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:currentColor;transition:transform .14s ease,opacity .14s ease}.admin-menu-bars span:nth-child(1){top:0}.admin-menu-bars span:nth-child(2){top:6px}.admin-menu-bars span:nth-child(3){top:12px}.admin-menu-toggle.open .admin-menu-bars span:nth-child(1){transform:translateY(6px) rotate(45deg)}.admin-menu-toggle.open .admin-menu-bars span:nth-child(2){opacity:0}.admin-menu-toggle.open .admin-menu-bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}@media (prefers-reduced-motion: reduce){.admin-menu-bars span{transition:none}}@media (max-width: 720px){.admin-shell{grid-template-columns:minmax(0,1fr)}.admin-topbar-mobile{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:var(--banner-height, 0px);z-index:10;padding:10px 16px;border-bottom:1px solid rgba(32,26,23,.12);background:#f9f4ee}.admin-topbar-mobile .admin-brand{padding:0;font-size:13px;font-weight:700;color:#201a17}.admin-nav{display:none;position:static;height:auto;overflow:visible;gap:20px;border-right:none;border-bottom:1px solid rgba(32,26,23,.12)}.admin-nav.open{display:flex;position:fixed;top:calc(var(--banner-height, 0px) + var(--mobile-bar-height, 0px));left:0;right:0;z-index:9;max-height:calc(100vh - var(--banner-height, 0px) - var(--mobile-bar-height, 0px));overflow-y:auto;border-bottom:1px solid rgba(32,26,23,.12);background:#f9f4ee;box-shadow:0 16px 28px #201a1729}.admin-nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;background:#201a1752}.admin-brand-wide{display:none}.admin-nav-footer{margin-top:0;padding-top:16px;border-top:1px solid rgba(32,26,23,.12)}.admin-content{padding:24px 16px 48px}}.panel-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.panel-hint{margin:0;color:#6f5f52}.panel-actions{display:flex;align-items:center;gap:10px}.panel-actions button,.panel-actions a{padding:6px 12px;font-size:12px;font-weight:600;border-radius:999px;border:1px solid rgba(32,26,23,.18);background:#fff;color:inherit;cursor:pointer}.panel-actions button:hover,.panel-actions a:hover{background:#f3efe9}.panel-actions a{display:inline-flex;align-items:center;gap:6px}.external-icon{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.preview-stage{position:relative;height:min(72vh,900px);width:auto;aspect-ratio:9 / 16;margin:16px auto 0;overflow:hidden;border-radius:14px;border:1px solid rgba(32,26,23,.15);background:#201a17}.preview-frame{position:absolute;top:0;left:0;border:0;transform-origin:top left}.topbar{display:flex;justify-content:space-between;align-items:end;padding-bottom:24px;border-bottom:1px solid rgba(32,26,23,.12)}.admin-link,.save-button{margin-top:20px;align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;background:#201a17;color:#fff;border-radius:999px;padding:10px 18px;font-weight:600;border:none;cursor:pointer}.panel{background:#ffffffb8;border:1px solid rgba(32,26,23,.08);border-radius:20px;padding:20px;margin-top:20px}.field{display:flex;flex-direction:column;gap:8px;margin-top:16px}.field-hint{color:#201a179e;line-height:1.45}input,select{font:inherit;padding:10px 12px;border-radius:10px;border:1px solid rgba(32,26,23,.2);background:#fff}.status{margin-top:16px;color:#295a2a;font-weight:600}.connection-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.connection-row{padding:10px 12px;border-radius:10px;background:#201a170a}.connection-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.connection-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:0;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.connection-toggle:focus-visible{outline:2px solid #a9761a;outline-offset:3px;border-radius:6px}.disclosure{flex:none;width:20px;font-size:22px;line-height:1;color:#8a7a6c}.connection-detail>*{display:block}.connection-row .author{margin:2px 0 0;font-size:12px;font-weight:500}.connection-detail{min-width:0}.provider-icon{flex:none;width:28px;height:28px;border-radius:6px;object-fit:contain}.provider-icon-fallback{display:flex;align-items:center;justify-content:center;background:#201a171a;color:#6f5f52;font-size:13px;font-weight:700}.connection-stats{margin:4px 0 0;font-size:12px;font-weight:600;color:#6f5f52}.health-badge{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;font-size:12px;font-weight:700;line-height:1}.health-badge.ok{background:#d8ecd6;color:#1f6b2c;border:1px solid rgba(31,107,44,.3)}.health-badge.bad{background:#f6dcdc;color:#b02a2a;border:1px solid rgba(176,42,42,.3)}.sync-button{min-width:62px;display:inline-flex;align-items:center;justify-content:center}.sync-spinner{animation:sync-spin .9s linear infinite}@keyframes sync-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.sync-spinner{animation-duration:3s}}.connection-status{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:999px;background:#201a1714;color:#5d534d}.connection-status.active{background:#2e7d3224;color:#2e7d32}.connection-status.error{background:#b02a2a24;color:#b02a2a}.connection-actions{display:flex;align-items:center;gap:8px}.connection-actions button{padding:6px 12px;font-size:12px;font-weight:600;border-radius:999px;border:1px solid rgba(32,26,23,.18);background:#fff;cursor:pointer}.connection-actions button:hover:not(:disabled){background:#f3efe9}.connection-actions button:disabled{opacity:.5;cursor:default}.connection-actions button.danger{color:#b02a2a;border-color:#b02a2a4d}.connection-error{margin:4px 0 0;font-size:12px;color:#b02a2a;max-width:460px}.toaster{position:fixed;right:20px;bottom:20px;z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;max-width:min(420px,calc(100vw - 40px));padding:12px 12px 12px 14px;border-radius:12px;background:#201a17;color:#f6f1e8;font-size:13px;line-height:1.45;box-shadow:0 8px 24px #201a1747;transition:opacity .22s ease,transform .22s ease}.toast.error{background:#8f1f1f}.toast.leaving{opacity:0;transform:translateY(6px)}.toast-message{overflow-wrap:anywhere}.toast-close{flex:none;margin-left:auto;padding:0 2px;border:none;background:none;color:inherit;opacity:.7;font:inherit;font-size:12px;line-height:1.45;cursor:pointer}.toast-close:hover{opacity:1}@media (prefers-reduced-motion: reduce){.toast{transition-duration:1ms}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-panel{width:min(420px,100%);margin:0}.login-error{margin-top:14px;color:#b02a2a;font-weight:600}.login-switch{margin:16px 0 0}.login-switch button{background:none;border:none;padding:0;font:inherit;color:#6f5f52;text-decoration:underline;cursor:pointer}.admin-link.ghost{background:transparent;color:#201a17;border:1px solid rgba(32,26,23,.2)}.pairing-cta{margin:18px 0 4px}.pairing-cta a{font-weight:600;text-decoration:underline}.share-link{display:flex;align-items:center;gap:8px;margin-top:14px}.share-link input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.share-link button,.share-link .share-open{flex-shrink:0;padding:10px 14px;font-size:12px;font-weight:600;border-radius:10px;border:1px solid rgba(32,26,23,.18);background:#fff;cursor:pointer}.share-link button:hover,.share-link .share-open:hover{background:#f3efe9}.admin-nav-section{display:flex;flex-direction:column;gap:8px}.admin-nav-heading{margin:0;padding:0 12px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9a8a7c}.impersonation-banner{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:10px 20px;background:#b3160f;color:#fff;font-size:13px;line-height:1.4;box-shadow:0 2px 8px #00000040}.impersonation-banner strong{font-size:14px;letter-spacing:.01em}.table-scroll{overflow-x:auto;margin-top:16px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(32,26,23,.1);white-space:nowrap}.admin-table th{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6f5f52}.admin-table .numeric{text-align:right}.admin-table tbody tr:hover{background:#201a1708}.row-tag{margin-left:8px;padding:2px 7px;border-radius:999px;background:#201a1714;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6f5f52}.row-actions{display:flex;gap:8px;justify-content:flex-end}.row-actions button{font:inherit;font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;border:1px solid rgba(32,26,23,.2);background:#fff;cursor:pointer}.row-actions button:hover:not(:disabled){border-color:#201a1766}.row-actions button:disabled{opacity:.4;cursor:default}.row-actions button.danger{color:#b02a2a;border-color:#b02a2a4d}.row-actions button.danger:hover:not(:disabled){background:#b02a2a;border-color:#b02a2a;color:#fff}.panel-empty{margin:12px 0 0;color:#6f5f52}.connection-drawer{display:flex;flex-direction:column;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(32,26,23,.12)}.drawer-field{display:flex;flex-direction:column;gap:6px}.drawer-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6f5f52}.drawer-url{flex:1;min-width:0;padding:9px 12px;border-radius:10px;border:1px solid rgba(32,26,23,.2);background:#fff;font-size:13px;text-decoration:underline;text-underline-offset:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.drawer-actions button{flex:none;padding:6px 12px;font:inherit;font-size:12px;font-weight:600;border-radius:999px;border:1px solid rgba(176,42,42,.3);background:#fff;color:#b02a2a;cursor:pointer}.drawer-actions button:hover:not(:disabled){background:#b02a2a;border-color:#b02a2a;color:#fff}.drawer-actions button:disabled{opacity:.5;cursor:default}.drawer-hint{font-size:12px;color:#6f5f52}
