/* Admin styles extend the public Smart Timber identity. */
.admin-page{background:var(--paper)}.admin-header{display:flex;align-items:center;gap:20px;padding:12px max(20px,calc((100vw - 1120px)/2));background:white;border-bottom:1px solid var(--rule);flex-wrap:wrap}.admin-header nav{margin-left:auto;display:flex;gap:24px;align-items:center;flex-wrap:wrap}.admin-header form{margin:0}.admin-header button{background:none;border:0;color:var(--deep);padding:8px}.admin-main{max-width:760px;margin:48px auto;padding:0 20px}.admin-card{background:white;border:1px solid var(--rule);border-radius:18px;padding:clamp(24px,5vw,44px)}.admin-card h1{font-size:clamp(28px,5vw,38px);letter-spacing:-1px;margin:12px 0 20px}.admin-card h2{font-size:24px;margin:32px 0 16px}.admin-card p{margin:12px 0;color:var(--muted)}.admin-card form{display:grid;gap:10px;margin:24px 0}.admin-card label{font-size:16px;font-weight:600}.admin-card input{width:100%;min-height:48px;border:1px solid #80988a;border-radius:8px;padding:10px 14px;font:inherit;background:white;color:var(--ink);margin-bottom:10px}.admin-card input:focus-visible{outline:3px solid var(--green);outline-offset:2px}.admin-card .button{justify-content:center;white-space:normal;text-align:center}.admin-card summary{cursor:pointer;color:var(--deep);padding:16px 0}.admin-status{font-weight:700;color:var(--deep)!important}.admin-errors,.admin-success{padding:20px;border:1px solid var(--rule);border-radius:12px;margin-bottom:20px}.admin-errors{background:#fff0f0;color:#801c1c}.admin-success{background:var(--pale);color:var(--deep)}.admin-danger{background:#832b29;border-color:#832b29}.admin-qr{display:inline-block;background:white;padding:20px;margin:20px 0}.admin-qr svg{display:block;max-width:100%;height:auto}.setup-key{overflow-wrap:anywhere}.recovery-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;list-style:none;margin:24px 0}.recovery-list code{font-size:16px;overflow-wrap:anywhere}.admin-card a:not(.button){text-decoration:underline;color:var(--deep)}@media(max-width:480px){.admin-header nav{margin-left:0;width:100%}.admin-main{margin-top:24px}.recovery-list{grid-template-columns:1fr}}


/* Shared controls extend the existing public tokens. */
:root{--ui-space:24px;--ui-radius:8px;--ui-danger:#832b29}
.admin-header{padding:12px 32px}.admin-header>.text-link{margin-left:auto}.auth-shell .admin-main{max-width:640px}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}
.page-heading h1{font-size:clamp(28px,3vw,40px);letter-spacing:-1.4px;line-height:1.2;margin:16px 0;font-weight:700}
.page-heading p:not(.eyebrow){color:var(--muted);max-width:620px;font-size:15px;line-height:1.6}
.actions,.form-actions,.pagination{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.panel{padding:24px;border:1px solid var(--rule);background:white;margin:24px 0;border-radius:var(--ui-radius)}
.panel h2{font-size:22px;letter-spacing:-.5px;margin-bottom:16px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.field{min-width:0;display:grid;align-content:start;gap:8px}.field label,legend{font-weight:600}.field input,.field select,.field textarea,.order-row input,.order-row select{display:block;width:100%;min-height:48px;border:1px solid var(--rule);border-radius:var(--ui-radius);padding:10px 12px;font:inherit;color:var(--ink);background:white}.field textarea{min-height:120px;resize:vertical}.field small,.panel p,.empty-state p{color:var(--muted)}.field small:empty,.field-error:empty{display:none}.field-error{color:var(--ui-danger);font-size:14px}input:focus-visible,select:focus-visible,textarea:focus-visible,.table-scroll:focus-visible{outline:3px solid var(--green);outline-offset:3px}.full,.form-actions{grid-column:1/-1}.form-actions{border-top:1px solid var(--rule);padding-top:24px}.check{display:flex;align-items:center;gap:12px;padding:8px 0}.check input{width:20px;height:20px;flex-shrink:0;accent-color:var(--deep)}fieldset{border:1px solid var(--rule);padding:24px;display:grid;gap:16px;min-width:0}legend{padding:0 8px}.list-filter{display:flex;align-items:end;gap:16px;margin:24px 0;flex-wrap:wrap}.list-filter .field{flex:1;min-width:150px}.list-filter .button{min-height:48px}.table-scroll{max-width:100%;overflow:auto;border:1px solid var(--rule);background:white}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.data-table th{background:var(--pale);color:var(--deep);font-weight:600;white-space:nowrap}.data-table th,.data-table td{padding:16px;border-bottom:1px solid var(--rule);vertical-align:top}.data-table tr:last-child td{border-bottom:0}.data-table small,figcaption small{display:block;color:var(--muted);margin-top:4px}.status-badge{display:inline-block;padding:4px 8px;background:var(--paper);border:1px solid var(--rule);font-size:12px;white-space:nowrap}.empty-state{padding:48px 24px;border:1px solid var(--rule);text-align:center;background:white}.empty-state h2{font-size:24px;margin:0 0 12px}.pagination{margin:24px 0;font-size:14px}.secondary{background:white;color:var(--deep);border-color:var(--rule)}.secondary:hover{background:var(--pale)}.text-button{background:none;border:0;color:var(--deep);text-decoration:underline;padding:12px 0;font:inherit;text-align:left}.delete-confirm{margin-top:8px}.delete-confirm summary{cursor:pointer;color:var(--ui-danger)}.delete-confirm form{min-width:180px}.delete-confirm .check{font-size:12px}.image-preview{width:100%;max-width:320px;height:180px;object-fit:contain;background:var(--paper)}.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px}.media-grid figure{margin:0;min-width:0}.order-row{display:grid;grid-template-columns:2fr 1fr auto;align-items:end;gap:16px;margin-bottom:16px}.prose{white-space:pre-wrap;overflow-wrap:anywhere}.admin-shell .admin-card{max-width:none}.admin-card input[type=checkbox]{width:20px;min-height:20px}

/* Institutional workspace shell. Authentication and public pages remain separate. */
.workspace-page{--sidebar-width:260px;--topbar-height:80px;--ui-radius:12px;--admin-border:#e5e9e6;--admin-soft:#f6f8f7;--admin-small-radius:8px;background:var(--admin-soft);font-size:14px}
.ui-icon{width:20px;height:20px;flex:none;vertical-align:middle}
.admin-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:white;border-right:1px solid var(--admin-border);z-index:60;display:flex;flex-direction:column}
.sidebar-brand{height:var(--topbar-height);min-height:var(--topbar-height);padding:10px 24px;border-bottom:1px solid var(--admin-border);display:flex;align-items:center}
.sidebar-brand>a{display:flex;align-items:center;gap:16px;font-family:Manrope,Arial,sans-serif;font-weight:700;font-size:16px}
.sidebar-brand img{width:48px;height:60px;object-fit:contain}
.sidebar-links{padding:24px 18px;overflow-y:auto;flex:1;scrollbar-width:thin}
.sidebar-links a,.sidebar-bottom a{display:flex;align-items:center;gap:14px;padding:8px 14px;min-height:38px;border-radius:var(--admin-small-radius);color:var(--ink);font-size:14px;transition:background .15s,color .15s}
.sidebar-links a:hover,.sidebar-bottom a:hover{background:var(--admin-soft);color:var(--deep)}
.sidebar-links a[aria-current=page]{background:var(--pale);color:var(--deep);font-weight:600}
.sidebar-links a .ui-icon{width:19px;height:19px}
.sidebar-links p{font-size:11px;line-height:1.3;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:600;padding:20px 12px 8px}
.sidebar-bottom{padding:12px 18px 18px;background:white}
.sidebar-bottom a{border:1px solid var(--admin-border)}
.admin-shell{margin-left:var(--sidebar-width);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;min-width:0}
.admin-topbar{height:var(--topbar-height);min-height:var(--topbar-height);padding:0 32px;display:flex;align-items:center;gap:24px;background:white;border-bottom:1px solid var(--admin-border);position:sticky;top:0;z-index:40}
.panel-search{position:relative;display:flex;align-items:center;gap:12px;max-width:480px;width:45%;padding:0 14px;border:1px solid var(--admin-border);border-radius:var(--admin-small-radius);color:var(--muted);height:44px;background:var(--admin-soft)}
.panel-search:focus-within{outline:2px solid var(--green);outline-offset:2px}
.panel-search input{background:transparent;border:0;min-width:0;flex:1;font:inherit;font-size:13px;color:var(--ink);height:100%;outline:0}
.panel-search input:focus-visible{outline:0}
.panel-search kbd{padding:2px 6px;border:1px solid var(--admin-border);border-radius:4px;background:white;font-size:11px;white-space:nowrap}
.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:white;border:1px solid var(--admin-border);border-radius:var(--admin-small-radius);padding:8px;max-height:360px;overflow-y:auto;box-shadow:0 8px 24px #172d2110}
.search-results a{display:flex;gap:12px;padding:12px;color:var(--ink);border-radius:6px;align-items:center}.search-results a:hover{background:var(--pale)}.search-results p{padding:12px;font-size:13px;color:var(--muted)}
.user-menu{position:relative;margin-left:auto;max-width:50%}
.user-menu summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;min-height:48px;border-radius:var(--admin-small-radius)}.user-menu summary::-webkit-details-marker{display:none}
.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--deep);color:white;display:grid;place-items:center;font-size:14px;flex-shrink:0}
.user-identity{display:grid;gap:2px;min-width:0;line-height:1.4}.user-identity strong{font-size:13px;font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-identity small{font-size:12px;color:var(--muted)}
.user-menu summary>.ui-icon{width:16px;height:16px;margin-left:8px}.user-dropdown{position:absolute;right:0;top:calc(100% + 12px);width:240px;padding:8px;background:white;border:1px solid var(--admin-border);border-radius:10px;box-shadow:0 8px 24px #172d2110}
.user-dropdown a,.user-dropdown button{display:flex;align-items:center;gap:12px;padding:12px;width:100%;background:white;border:0;text-align:left;font:inherit;border-radius:6px}.user-dropdown a:hover,.user-dropdown button:hover{background:var(--pale)}.user-dropdown form{border-top:1px solid var(--admin-border);padding-top:4px;margin-top:4px}
.admin-shell .admin-main{padding:32px;width:100%;max-width:none;margin:0;min-width:0;flex:1}
.workspace-page .eyebrow{font-size:11px;letter-spacing:1.4px}
.workspace-page .panel{border-color:var(--admin-border)}
.workspace-page .button{border-radius:var(--admin-small-radius);transform:none;padding:12px 20px;font-size:14px;box-shadow:none}.workspace-page .button:hover{transform:none;box-shadow:none}.workspace-page .button.small{padding:10px 16px}
.workspace-page .field input,.workspace-page .field select,.workspace-page .field textarea{border-radius:var(--admin-small-radius);border-color:var(--admin-border)}.workspace-page .field label{font-size:13px}.workspace-page .field small{font-size:12px}
.workspace-page .admin-card{border-radius:var(--ui-radius);border-color:var(--admin-border)}
.dashboard-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,500px);align-items:center;gap:32px;margin-bottom:32px}
.dashboard-heading .page-heading{margin:0}.dashboard-heading .page-heading .actions:empty{display:none}
.forest-banner{height:152px;position:relative;border-radius:var(--ui-radius);overflow:hidden;background:#e8eeea}
.forest-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.forest-banner p{position:relative;font-family:Georgia,serif;font-size:20px;line-height:1.28;color:#123b2b;padding:26px 28px;z-index:1}
.forest-banner p:after{content:'';display:block;width:24px;height:2px;background:var(--deep);margin-top:12px}
.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-bottom:32px}
.metric{display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:228px;padding:22px;background:white;border:1px solid var(--admin-border);border-radius:var(--ui-radius);transition:border-color .15s,background .15s}
.metric:hover{border-color:#abcbbb;background:#fdfefd}
.metric-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--pale);color:var(--deep);margin-bottom:16px}.metric-icon .ui-icon{width:24px;height:24px}
.metric-label{font-size:14px;font-weight:600;line-height:1.4}.metric strong{font-family:Manrope,Arial,sans-serif;font-size:36px;font-weight:700;letter-spacing:-1px;line-height:1.2;color:var(--ink);margin:10px 0 4px}
.metric-context{font-size:12px;color:var(--muted)}.metric-link{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--deep);margin-top:auto;padding-top:24px}.metric-link .ui-icon{width:15px;height:15px}
.dashboard-lower{display:grid;grid-template-columns:minmax(0,3fr) minmax(250px,1fr);gap:24px;align-items:start}
.dashboard-lower .panel{margin:0}.dashboard-aside{display:grid;gap:20px;min-width:0}.dashboard-lower>*,.activity-panel{min-width:0}
.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:24px}.section-heading h2{font-size:22px;margin:0;line-height:1.3}.section-heading p{font-size:13px;margin-top:3px;line-height:1.5}.section-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--pale);color:var(--deep);flex-shrink:0}
.activity-panel .empty-state{border-color:var(--admin-border);border-radius:var(--admin-small-radius);padding:42px 24px;min-height:258px;display:flex;flex-direction:column;align-items:center;justify-content:center}.activity-panel .empty-state h2{font-size:18px;font-weight:700;margin:20px 0 8px}.activity-panel .empty-state p{font-size:13px;max-width:450px;line-height:1.6}
.empty-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--admin-soft);color:var(--muted)}.empty-icon .ui-icon{width:28px;height:28px}
.quick-actions .section-heading,.integration-summary .section-heading{margin-bottom:20px;gap:10px}.quick-actions h2,.integration-summary h2{font-size:17px;letter-spacing:-.3px}.quick-actions .section-heading>.ui-icon,.integration-summary .section-heading>.ui-icon{color:var(--deep)}
.quick-actions>a{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--admin-border);border-radius:var(--admin-small-radius);margin-top:8px;font-size:13px;line-height:1.4;transition:background .15s}
.quick-actions>a:hover{background:var(--pale)}.quick-actions>a>span{flex:1}.quick-actions>a>.ui-icon:last-child{width:14px;height:14px;color:var(--muted)}.quick-actions>a>.ui-icon:first-child{width:18px;height:18px}
.connection-status{display:flex;align-items:center;gap:8px;font-size:13px}.connection-dot{width:8px;height:8px;border:1px solid var(--muted);border-radius:50%;flex-shrink:0}.connection-dot.connected{background:var(--green);border-color:var(--green)}.integration-link{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--deep);font-size:13px;margin-top:20px}.integration-link .ui-icon{width:16px;height:16px}
.admin-footer{padding:8px 32px 24px;display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:11px}
.icon-button{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;background:white;border:1px solid var(--admin-border);border-radius:var(--admin-small-radius);color:var(--ink)}
.drawer-toggle,.drawer-close{display:none}.drawer-scrim[hidden],.search-results[hidden]{display:none}
@media(max-width:1399px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-heading{grid-template-columns:1fr}.forest-banner{width:100%;max-width:600px}.dashboard-lower{grid-template-columns:minmax(0,2fr) minmax(245px,1fr)}}
@media(max-width:1100px){.dashboard-lower{grid-template-columns:minmax(0,1fr)}.dashboard-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.order-row{grid-template-columns:1fr 1fr}.order-row button{grid-column:1/-1}.panel-search kbd{display:none}.user-identity strong{max-width:150px}}
@media(max-width:900px){.workspace-page{--topbar-height:72px}.admin-sidebar{visibility:hidden;transform:translateX(-100%);transition:transform .2s,visibility .2s}.admin-sidebar.is-open{visibility:visible;transform:translateX(0)}.admin-shell{margin-left:0}.admin-topbar{padding:0 24px;gap:16px}.drawer-toggle,.drawer-close{display:grid}.drawer-close{width:28px;height:28px;border:0;margin-left:auto}.sidebar-brand{padding:10px 16px}.sidebar-brand>a{gap:10px}.sidebar-brand img{width:40px}.drawer-scrim{position:fixed;inset:0;background:#15271c55;z-index:50}.drawer-open{overflow:hidden}.admin-sidebar .sidebar-links p{display:block}.panel-search{width:48%}.dashboard-heading{grid-template-columns:1fr}.forest-banner{max-width:none;height:156px}}
@media(max-width:600px){.admin-topbar{padding:0 16px;gap:12px}.panel-search{display:none}.user-menu{max-width:calc(100% - 60px)}.user-identity strong{max-width:180px}.user-menu summary>.ui-icon{margin-left:0}.admin-shell .admin-main{padding:24px 16px}.page-heading{align-items:start;flex-direction:column;gap:16px}.page-heading h1{font-size:32px}.dashboard-heading{gap:24px;margin-bottom:24px}.forest-banner{height:144px}.forest-banner p{font-size:18px;padding:22px}.metrics{grid-template-columns:1fr;gap:16px;margin-bottom:24px}.metric{min-height:220px;padding:24px}.dashboard-aside{grid-template-columns:1fr}.dashboard-lower{gap:20px}.panel{padding:20px}.section-heading h2{font-size:20px}.activity-panel .empty-state{padding:32px 16px}.list-filter .field{min-width:100%}.order-row{grid-template-columns:1fr}fieldset{padding:16px}.admin-footer{padding:8px 16px 24px;flex-direction:column;gap:8px}.table-scroll{font-size:13px}}
@media(prefers-reduced-motion:reduce){.admin-sidebar,.metric,.sidebar-links a,.quick-actions>a{transition:none}}

@media(max-width:600px){.activity-panel .table-scroll{overflow:visible;border:0}.activity-panel .data-table,.activity-panel .data-table tbody,.activity-panel .data-table tr{display:block;width:100%}.activity-panel .data-table thead{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.activity-panel .data-table tr{border:1px solid var(--admin-border);border-radius:8px;padding:12px;margin-top:12px}.activity-panel .data-table td{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;padding:8px 0;border:0;overflow-wrap:anywhere}.activity-panel .data-table td:before{content:attr(data-label);font-weight:600;color:var(--muted);font-size:12px}}
