:root{--petrol-50: #f2f8f7;--petrol-100: #e6f0f0;--petrol-200: #cce2e1;--petrol-400: #66a7a4;--petrol-500: #338a85;--petrol-600: #006d67;--petrol-700: #005752;--neutral-50: #f6f6f6;--neutral-100: #ededed;--neutral-200: #dddddd;--neutral-400: #8e8e8e;--neutral-600: #606060;--action: var(--petrol-600);--action-hover: var(--petrol-700);--action-text: #ffffff;--text: #1c1c1c;--text-secondary: var(--neutral-600);--surface: #ffffff;--surface-page: var(--neutral-50);--surface-selected: var(--petrol-50);--border-subtle: var(--neutral-100);--border: var(--neutral-200);--danger: #b42318;--danger-surface: #fdf3f2;--folder-back: var(--petrol-500);--folder-front: var(--petrol-400);--page: #ffffff;--page-line: var(--neutral-200);--radius-control: 10px;--radius-card: 20px;--shadow-card: 0 0 0 1px rgb(28 28 28 / .04), 0 1px 2px rgb(28 28 28 / .04), 0 4px 16px -8px rgb(28 28 28 / .08);--fast: .12s;--base: .24s;--standard: cubic-bezier(.2, 0, 0, 1);--spring: cubic-bezier(.34, 1.3, .64, 1);color-scheme:light}@media (prefers-color-scheme: dark){:root{--petrol-50: #0e2624;--petrol-100: #12302d;--petrol-200: #1b4744;--petrol-400: #3b8a84;--petrol-500: #5cb0a9;--petrol-700: #8fd6cf;--neutral-50: #232325;--neutral-100: #2c2c2e;--neutral-200: #3a3a3c;--neutral-400: #8e8e93;--neutral-600: #aeaeb2;--action: #17958d;--action-hover: #1fa99f;--text: #f5f5f7;--surface: #1c1c1e;--surface-page: #0e0e10;--surface-selected: var(--petrol-100);--border-subtle: rgb(255 255 255 / .07);--border: rgb(255 255 255 / .12);--danger: #ff6b5e;--danger-surface: #3b1714;--folder-back: #28655f;--folder-front: #3b8a84;--page: #2c2c2e;--page-line: #545458;--shadow-card: 0 0 0 1px rgb(255 255 255 / .06), 0 1px 2px rgb(0 0 0 / .3);color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:15px/1.5 Gibson,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--surface-page);color:var(--text);-webkit-font-smoothing:antialiased}h1{font-size:32px;line-height:1.1;font-weight:700;letter-spacing:-.025em;margin:0;text-wrap:balance}h2{font-size:20px;font-weight:700;letter-spacing:-.015em;margin:0}p{margin:0}svg{flex:none}:focus-visible{outline:2px solid var(--action);outline-offset:2px}button{font:inherit;font-size:15px;font-weight:600;color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 20px;border:0;border-radius:999px;background:var(--neutral-100);cursor:pointer;transition:background-color var(--fast) var(--standard),color var(--fast) var(--standard),transform var(--fast) var(--standard);-webkit-tap-highlight-color:transparent}button:hover{background:var(--neutral-200)}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--action);color:var(--action-text);box-shadow:0 1px 2px #00413e40}button.primary:hover:not(:disabled){background:var(--action-hover)}button.large{width:100%;min-height:44px}button.link{background:none;padding:0;min-height:0;color:var(--action)}button.link:hover{color:var(--action-hover)}.icon-button{width:36px;min-height:36px;padding:0;background:none;color:var(--text-secondary)}.icon-button:hover{background:var(--surface-selected);color:var(--action)}.muted{color:var(--text-secondary)}.small{font-size:13px}.error{color:var(--danger);background:var(--danger-surface);padding:10px 16px;border-radius:var(--radius-control);margin:0 0 16px}.status{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:14px;margin:0 0 16px}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--petrol-200);border-top-color:var(--action);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{0%{opacity:0;transform:translateY(4px)}}.signin{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.signin-card{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:40px 32px 32px;background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);animation:appear var(--base) var(--standard)}.signin-card h1{font-size:40px;margin-top:8px}.signin-card>p.muted:first-of-type{margin-bottom:16px}.signin-form{width:100%;display:flex;flex-direction:column;gap:14px;text-align:left}.signin-form>p.muted{text-align:center;margin:0 0 4px}.signin-form .error,.signin-form .notice{margin:0}.signin-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.signin-links button.link{font-size:14px;font-weight:500}.signin-links.center{justify-content:center}input.code{font-size:24px;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}input[type=email],input[type=text],input:not([type]){font:inherit;font-size:15px;color:var(--text);width:100%;min-height:44px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);transition:border-color var(--fast) var(--standard),box-shadow var(--fast) var(--standard)}input:focus{outline:none;border-color:var(--action);box-shadow:0 0 0 3px var(--petrol-100)}input[readonly]{background:var(--neutral-50);color:var(--text-secondary)}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:14px;font-weight:600;color:var(--text-secondary)}.check{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.check input{accent-color:var(--action);width:16px;height:16px}.notice{color:var(--action-hover);background:var(--surface-selected);padding:10px 16px;border-radius:var(--radius-control);margin:0 0 16px;text-align:left}.notice p{margin:0 0 10px}.notice a{color:inherit;font-weight:600}.panel{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:24px;margin-bottom:24px;max-width:640px;animation:appear var(--base) var(--standard)}.panel h2{margin:0 0 14px}.invite-form{display:flex;flex-direction:column;gap:12px}.invite-form .notice{margin:4px 0 0}.invite-row{display:flex;gap:8px}.invite-row input{flex:1;min-width:0}.invite-row button{flex:none;min-height:44px}.name-block{display:flex;flex-direction:column;gap:2px;min-width:0}.name-block span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-block span:first-child{font-weight:500}.nav-gap{margin-top:16px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 24px}button.tab{min-height:36px;padding:0 16px;background:var(--surface);box-shadow:var(--shadow-card);font-weight:500;color:var(--text-secondary)}button.tab:hover{color:var(--text);background:var(--surface)}button.tab.active{background:var(--action);color:var(--action-text);box-shadow:none}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-bottom:24px}.stat{display:flex;flex-direction:column;gap:4px;padding:18px 20px;background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.stat-value{font-size:26px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.panels{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:32px;align-items:start}.panels .panel{margin:0;max-width:none}.section-title{margin:32px 0 12px}.more{display:flex;justify-content:center;padding:16px 0}.search{max-width:360px;margin-bottom:16px}.badge{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;vertical-align:middle}.badge.danger{color:var(--danger);background:var(--danger-surface)}button.danger{background:var(--danger-surface);color:var(--danger)}button.danger:hover{background:var(--danger);color:#fff}tr.disabled .name-block span:first-child{color:var(--text-secondary);text-decoration:line-through}tr.detail-row>td{background:var(--neutral-50);height:auto;padding-top:16px;padding-bottom:16px}.user-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.user-actions button{min-height:36px;font-size:14px}.devices{display:flex;flex-direction:column;gap:8px}.device{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--surface);border-radius:var(--radius-control)}.device button{min-height:32px;font-size:13px;padding:0 14px;flex:none}.device .name-block span,tr.detail-row .name-block span{white-space:normal}tr.detail-row>td{overflow-wrap:anywhere}.rights-form{display:flex;flex-direction:column;gap:14px;max-width:720px}.rights-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}select{font:inherit;font-size:15px;color:var(--text);width:100%;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface)}select:focus{outline:none;border-color:var(--action);box-shadow:0 0 0 3px var(--petrol-100)}.panel.signin-form>p.muted{text-align:left;margin:0}@media (max-width: 700px){.rights-row{grid-template-columns:1fr}.list.admin td:nth-child(2){display:table-cell}.list.admin th:nth-child(n+3):not(:last-child),.list.admin td:nth-child(n+3):not(:last-child){display:none}.list.admin th:nth-child(2),.list.admin td:nth-child(2){width:30%;padding-right:8px}.list.admin .row-actions button:not(.icon-button){width:auto;padding:0 12px}.list.admin th.row-actions{width:104px}tr.detail-row>td{padding-left:16px}.device{flex-wrap:wrap}}.layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:20px;padding:20px 12px 12px;background:var(--surface);border-right:1px solid var(--border-subtle)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;letter-spacing:-.02em;padding:0 8px}nav[aria-label=Sites]{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.nav-title{font-size:13px;font-weight:600;color:var(--text-secondary);padding:0 12px 6px}.nav-empty{padding:4px 12px}button.nav{width:100%;justify-content:flex-start;gap:10px;min-height:40px;padding:0 12px;border-radius:var(--radius-control);background:none;font-weight:500;text-align:left}button.nav span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.nav svg{color:var(--text-secondary)}button.nav:hover{background:var(--neutral-50)}button.nav.active{background:var(--surface-selected);color:var(--action);font-weight:600}button.nav.active svg{color:var(--action)}button.nav.add{color:var(--action)}button.nav.add svg{color:var(--action)}button.nav:active:not(:disabled){transform:none;background:var(--neutral-100)}.me{display:flex;align-items:center;gap:10px;padding:12px 0 0 8px;border-top:1px solid var(--border-subtle)}.me-text{flex:1;min-width:0}.me-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-text .small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--action);background:var(--petrol-100)}.content{padding:0 40px 48px;min-width:0}.content>.error{margin-top:32px}.toolbar{position:sticky;top:0;z-index:5;display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin:0 -40px 24px;padding:40px 40px 20px;background:color-mix(in srgb,var(--surface-page) 75%,transparent);-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}.title{display:flex;flex-direction:column;gap:6px;min-width:0}.title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;gap:8px;flex-wrap:wrap}.crumbs{display:flex;align-items:center;gap:2px;flex-wrap:wrap;color:var(--neutral-400);font-size:15px}.crumbs>span{display:inline-flex;align-items:center;gap:2px}button.crumb{min-height:28px;padding:0 6px;border-radius:8px;background:none;color:var(--action);font-weight:500}button.crumb:hover{background:var(--surface-selected);color:var(--action-hover)}.placeholder{display:flex;flex-direction:column;align-items:center;gap:16px;padding:14vh 16px 0;text-align:center;color:var(--neutral-400)}.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.card{width:100%;justify-content:flex-start;gap:14px;min-height:76px;padding:16px 20px 16px 16px;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);text-align:left;color:var(--neutral-400);animation:appear var(--base) var(--standard)}.card:hover{background:var(--surface)}.card>svg:last-child{transition:translate var(--base) var(--spring),color var(--fast) var(--standard)}.card:hover>svg:last-child{translate:3px 0;color:var(--action)}.card-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--action);background:var(--petrol-100)}.card-name{flex:1;color:var(--text);font-weight:600;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.list{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.list thead{background:var(--neutral-50)}.list th{text-align:left;font-size:14px;font-weight:600;color:var(--text-secondary);padding:12px 16px;white-space:nowrap}.list td{padding:10px 16px;height:60px;vertical-align:middle;border-top:1px solid var(--border-subtle)}.list tbody tr:first-child td{border-top:0}.list th:first-child,.list td:first-child{padding-left:24px}.list th:last-child,.list td:last-child{padding-right:16px}.list tbody tr{transition:background-color var(--fast) var(--standard)}@media (hover: hover){.list tbody tr:hover{background:var(--neutral-50)}}.list td.muted{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}.list th:nth-child(2),.list th:nth-child(3){width:1%;padding-right:32px}.list td:nth-child(2),.list td:nth-child(3){padding-right:32px}.list .name,.list button.name{display:flex;align-items:center;gap:14px;min-width:0}.list button.name{width:100%;justify-content:flex-start;min-height:0;padding:0;background:none;font-weight:500;text-align:left}.list button.name:active:not(:disabled){transform:none}.list .name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list button.name:hover span{color:var(--action)}.row-actions{text-align:right;white-space:nowrap;width:1%}.row-actions button{margin-left:4px}.row-actions button:not(.icon-button){min-height:36px;padding:0 16px;font-size:14px}.row-actions .icon-button:last-child:hover{background:var(--danger-surface);color:var(--danger)}@media (hover: hover){.list tbody tr .row-actions .icon-button{opacity:0;transition:opacity var(--fast) var(--standard)}.list tbody tr:hover .row-actions .icon-button,.list tbody tr:focus-within .row-actions .icon-button{opacity:1}}.bin{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:24px 0 8px;overflow:hidden;animation:appear var(--base) var(--standard)}.bin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 16px 16px 24px}.bin-head h2{margin-bottom:4px}.bin table.list{box-shadow:none;border-radius:0;background:none}.bin .list tbody tr:first-child td{border-top:1px solid var(--border-subtle)}.bin .empty{padding:16px 24px 24px;text-align:left}.dropzone{min-height:70vh;border-radius:var(--radius-card);transition:background-color var(--fast) var(--standard)}.dropzone.dragging{background:var(--surface-selected);outline:2px dashed var(--action);outline-offset:-2px}.empty{text-align:center;padding:32px 0}@media (max-width: 700px){.layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.sidebar{min-width:0;position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;border-right:0;border-bottom:1px solid var(--border-subtle)}.brand{padding:0}nav[aria-label=Sites]{order:3;flex:1 0 100%;flex-direction:row;align-items:center;overflow-x:auto;gap:8px;scrollbar-width:none}.nav-empty,.nav-title{display:none}button.nav{width:auto;flex:none;border-radius:999px;background:var(--neutral-100)}button.nav.active{background:var(--action);color:var(--action-text)}button.nav.active svg{color:inherit}.me{margin-left:auto;border-top:0;padding:0}.me-text{display:none}.content{padding:0 16px 32px}.toolbar{margin:0 -16px 16px;padding:24px 16px 16px}h1{font-size:28px}.actions button{width:44px;min-height:44px;padding:0}.actions button span{display:none}.list td:nth-child(2),.files th:nth-child(2),.files th:nth-child(3),.files td:nth-child(3){display:none}.list th:first-child,.list td:first-child{padding-left:16px}.row-actions button:not(.icon-button){width:40px;padding:0}.row-actions button:not(.icon-button) span{display:none}table.list{table-layout:fixed}.list .row-actions{width:96px}.bin .row-actions{width:72px}.bin-head{padding-left:16px}}
