:root{--navy:#172947;--gold:#b58b43;--ink:#182640;--muted:#556178;--line:#e1e5eb;--paper:#f4f6fa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,Tahoma,Arial,sans-serif}a{color:inherit}button,input,select{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #a5752a;outline-offset:3px}.header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:12px clamp(16px,4vw,56px);background:var(--navy);color:#fff}.header nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.header a{text-decoration:none}.brand{display:flex;align-items:center;gap:12px;font-weight:850;letter-spacing:.06em}.brand img{background:#fff;border-radius:6px;padding:5px}.brand small{display:block;font-size:11px;letter-spacing:normal;color:#eed7a8}.layout{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:calc(100vh - 76px)}aside{background:#fff;border-inline-end:1px solid var(--line);padding:24px 16px}aside h2{font-size:16px;margin:0 12px 12px}aside nav{display:grid;gap:5px}aside a{padding:10px 12px;text-decoration:none;border-radius:7px;color:var(--muted)}aside a:hover,aside a[aria-current]{background:#eef1f7;color:var(--navy);font-weight:700}.content{padding:clamp(18px,4vw,48px);width:100%;max-width:1440px;margin-inline:auto}.crumbs,.toolbar,.search,.actions,.heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.crumbs{font-size:13px;color:var(--muted)}.crumbs a{text-decoration:none}.heading{margin:6px 0 14px}h1{font-size:clamp(25px,4vw,39px);margin:0;line-height:1.35}.search{margin-bottom:18px}.search input{flex:1;min-width:185px}.tag{font-size:13px;padding:3px 10px;background:#f0e6d3;border-radius:30px}.button,summary{border:1px solid var(--line);border-radius:7px;padding:8px 13px;background:#fff;color:var(--navy);cursor:pointer;font-weight:700;white-space:nowrap}.primary,.primary-control>summary{background:var(--navy);color:#fff;border-color:var(--navy)}.plain{background:transparent;color:inherit}.danger{color:#a1272d;border-color:#e4b6b8}.toolbar{margin-bottom:18px}.control{position:relative}.control summary{list-style:none;display:inline-block}.control summary::-webkit-details-marker{display:none}.control[open]>summary{box-shadow:0 0 0 2px #ddcba8}.control-body{position:absolute;z-index:2;inset-inline-start:0;min-width:min(280px,75vw);margin-top:7px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:15px;box-shadow:0 12px 34px #14274829}.actions .control-body{inset-inline-start:auto;inset-inline-end:0}.control-body p{margin:0 0 9px}.folder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,222px),1fr));gap:12px;margin-bottom:20px}.folder{position:relative;min-height:106px;padding:15px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;text-decoration:none;display:grid;align-content:center;gap:4px}.folder:hover{border-color:var(--gold);box-shadow:0 8px 24px #17294710}.folder small,.muted,small{color:var(--muted)}.folder-icon{display:block;width:25px;height:17px;border:2px solid var(--gold);border-radius:3px;position:relative;margin:5px 0}.folder-icon:before{content:'';position:absolute;width:10px;height:4px;inset-inline-start:-2px;top:-6px;background:var(--gold);border-radius:2px 2px 0 0}.arrow{position:absolute;inset-inline-end:12px;top:12px;color:var(--muted)}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;text-align:start}th,td{text-align:start;padding:12px;border-bottom:1px solid var(--line)}th{background:#eef1f6;font-size:13px}tr:last-child td{border-bottom:none}.actions{font-size:13px}.actions summary{padding:4px 8px}.empty,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}.empty{color:var(--muted);text-align:center}.login{max-width:475px;margin:clamp(24px,9vw,100px) auto;padding:0 15px}.panel p{color:var(--muted)}.settings{max-width:620px}.panel form,.control-body form{display:grid;gap:12px}.panel button,.control-body button{justify-self:start}label{display:grid;gap:4px;font-weight:650}input,select{padding:8px 10px;border:1px solid #cdd4de;border-radius:7px;background:#fff;color:var(--ink);min-width:0;max-width:100%}.login-link{display:inline-block;margin-top:18px}.panel .alert,.alert{padding:10px;background:#fff0f0;color:#8a2728;border-radius:7px}.notice{padding:12px;background:#f2e8d6;border-radius:7px;margin-bottom:14px}.notice code{display:block;overflow-wrap:anywhere}
@media(max-width:760px){.layout{grid-template-columns:1fr}aside{border:0;border-bottom:1px solid var(--line);padding:8px 12px}aside h2{display:none}aside nav{display:flex;flex-wrap:wrap;gap:2px}aside a{font-size:13px;padding:5px 7px}.header nav{gap:7px;font-size:12px}.header{gap:8px}.header .button{padding:4px 6px}.brand{gap:6px;font-size:13px}.brand img{width:27px;height:33px}table,tbody,tr,td{display:block}thead{display:none}td{padding:4px 10px;border:0}tr{padding:7px 0;border-bottom:1px solid var(--line)}.control-body,.actions .control-body{position:static;box-shadow:none}.toolbar{align-items:flex-start}}
.account-page>.panel{margin-block:1rem}
.account-page .table-wrap{overflow-x:auto;margin-top:1rem}
.account-page .toolbar{margin-top:1rem}
.permission-group{border:1px solid var(--line);border-radius:10px;padding:.5rem .75rem}
.permission-group summary{cursor:pointer;font-weight:700}
.permission-scroll{overflow-x:auto}
.permission-scroll table{min-width:830px}
.permission-scroll select{min-width:105px;width:100%}
.assignment-choice{display:flex!important;gap:.5rem;align-items:center}
