:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#211e1b;background:#f4f3f0;font-synthesis:none;--orange:#f47c20;--orange-dark:#b94c08;--orange-soft:#fff0e4;--ink:#211e1b;--muted:#736d66;--border:#e2dfda;--soft:#faf9f7}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.splash{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--muted)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 70% 15%,#ffe6d1,transparent 35%),#f4f3f0}.login-card{width:min(100%,460px);padding:42px;border:1px solid var(--border);border-radius:24px;background:#fff;box-shadow:0 30px 80px #3a2c2015}.login-logo{display:block;width:min(100%,300px);height:auto;margin:0 auto 38px}.eyebrow{margin:0 0 7px;color:var(--orange-dark);font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.login-card h1{margin:0;font-size:35px;letter-spacing:-.045em}.login-copy{margin:10px 0 28px;color:var(--muted);line-height:1.55}.login-card form{display:grid;gap:16px}.login-card label{display:grid;gap:7px;font-size:14px;font-weight:750}.login-card input{height:46px;padding:0 13px;border:1px solid var(--border);border-radius:11px;outline:none}.login-card input:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f47c2018}.primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 15px;border:0;border-radius:10px;background:var(--orange);color:#fff;font-weight:750;box-shadow:0 7px 18px #f47c2025}.primary:hover{background:#dc6712}.primary:disabled{opacity:.6}.login-button{margin-top:6px}.form-error{margin:0;color:#aa382f;font-size:13px}.login-note{margin:18px 0 0;color:var(--muted);font-size:12px;text-align:center}.access-card{text-align:center}.access-card>svg{margin-bottom:18px;color:var(--orange)}.access-card .login-button{width:100%}.app-frame{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 18px 18px;overflow:hidden;background:#221f1c;color:#fff}.brand{display:grid;justify-items:center;gap:12px;padding:9px 0 23px;border-bottom:1px solid #ffffff16}.brand img{display:block;width:100%;height:auto;padding:12px;border-radius:9px;background:#fff}.brand span{color:#a69e96;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.sidebar-heading{display:flex;justify-content:space-between;padding:25px 8px 10px;color:#8f8881;font-size:11px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.sidebar nav{display:grid;align-content:start;gap:3px;min-height:0;overflow-y:auto}.sidebar nav button{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:41px;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:#aaa39c;text-align:left}.sidebar nav button:hover,.sidebar nav button.active{background:#ffffff0d;color:#fff}.sidebar nav button.active:before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px #f47c2024}.sidebar nav button span{flex:1;font-size:14px;font-weight:620}.sidebar nav button b{font-size:11px;font-weight:550;color:#89827b}.content{width:min(1120px,calc(100% - 64px));margin:0 auto;padding:42px 0 56px}.topbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}.topbar h1{margin:0;font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.052em}.page-intro{margin:9px 0 0;color:var(--muted);font-size:14px}.account-actions{display:flex;align-items:center;gap:10px;max-width:100%;flex-wrap:wrap}.account-actions>div{display:grid;justify-items:end;gap:2px;min-width:0}.account-actions>div strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:12px;white-space:nowrap}.account-actions>div span{color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.1em}.icon-button{flex:none;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--muted)}.icon-button:hover{color:var(--ink);border-color:#c9c3bc}.controls{position:sticky;top:14px;z-index:10;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.35fr) 42px;gap:10px;align-items:center;margin-top:28px;padding:12px;border:1px solid #e2dfdadb;border-radius:15px;background:#fffffff0;box-shadow:0 14px 38px #2f271f0e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.search{min-width:0;position:relative;display:flex;align-items:center}.search>svg{position:absolute;left:13px;color:var(--muted)}.search input,.controls select{width:100%;height:44px;border:1px solid var(--border);border-radius:10px;background:var(--soft);outline:none}.search input{min-width:0;padding:0 42px}.clear-filters:disabled{visibility:hidden}.search input:focus,.controls select:focus{border-color:var(--orange)}.search kbd{position:absolute;right:12px;padding:2px 7px;border:1px solid var(--border);border-radius:6px;color:var(--muted);background:#fff;font-size:11px}.controls select{padding:0 12px}.summary{display:flex;justify-content:space-between;gap:12px;margin:15px 2px 28px;color:var(--muted);font-size:12px}.summary span:last-child{display:flex;align-items:center;gap:6px}.error-banner{margin-bottom:20px;padding:13px 16px;border:1px solid #f2c1bc;border-radius:12px;background:#fff2f0;color:#a3332b;font-size:14px}.change-banner{display:flex;align-items:center;gap:11px;margin:-12px 0 28px;padding:13px 15px;border:1px solid #f1d3bd;border-radius:12px;background:var(--orange-soft);color:var(--orange-dark)}.change-banner div{display:grid;gap:2px;flex:1}.change-banner strong{font-size:12px}.change-banner span{font-size:12px;color:#815331}.change-banner>button{display:grid;place-items:center;width:30px;height:30px;flex:none;border:0;border-radius:8px;background:transparent;color:#9a5a2d}.change-banner>button:hover{background:#f47c2015;color:var(--orange-dark)}.groups{display:grid;gap:34px}.group{display:grid;gap:13px}.group-title{display:flex;justify-content:space-between;align-items:flex-end;padding:0 2px}.group-title h2{margin:0;font-size:23px;letter-spacing:-.025em}.group-title span{color:var(--muted);font-size:12px}.card{overflow:hidden;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 1px 2px #2b241e08;transition:.15s}.card:hover{transform:translateY(-1px);box-shadow:0 14px 34px #2b241e0c}.card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 20px 16px;border-bottom:1px solid var(--border);background:var(--soft)}.label{display:block;margin-bottom:5px;color:var(--orange-dark);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.label.muted{margin-bottom:12px;color:var(--muted)}.card h3{margin:0;font-size:17px;line-height:1.35;letter-spacing:-.015em}.row-updated{display:block;margin-top:5px;color:#8a837c;font-size:10px}.copy{min-width:92px}.response{padding:22px}.rich{max-width:950px;font-size:16px;line-height:1.68;word-break:break-word}.rich p,.rich ul,.rich ol,.rich div{margin:0 0 12px}.rich :last-child{margin-bottom:0}.rich ul,.rich ol{padding-left:25px}.rich a{color:var(--orange-dark);font-weight:650;text-underline-offset:3px}.empty{display:grid;justify-items:center;gap:8px;padding:60px 24px;border:1px dashed #cbc5be;border-radius:16px;color:var(--muted);background:#fff;text-align:center}.empty strong{color:var(--ink)}footer{display:flex;justify-content:space-between;margin-top:46px;padding-top:20px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}footer span:last-child{display:flex;align-items:center}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#211e1ba8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{position:relative;width:min(100%,620px);max-height:calc(100vh - 40px);overflow:auto;padding:28px;border-radius:20px;background:#fff;box-shadow:0 30px 100px #0004}.modal h2{margin:0;font-size:27px}.modal>p:not(.eyebrow,.upload-message){margin:10px 0 20px;color:var(--muted);line-height:1.55}.modal-close{position:absolute;top:17px;right:17px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:9px;background:var(--soft);color:var(--muted)}.drop-zone{display:grid;justify-items:center;gap:8px;width:100%;min-height:145px;padding:24px;border:1.5px dashed #cfc7bf;border-radius:16px;background:var(--soft);color:var(--muted)}.drop-zone:hover{border-color:var(--orange);background:var(--orange-soft)}.drop-zone strong{color:var(--ink);font-size:16px}.drop-zone span{font-size:12px}.upload-message{margin:14px 0 0;color:var(--muted);font-size:13px}.diff-preview{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.diff-preview h3{margin:0 0 12px;font-size:15px}.diff-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.diff-counts span{display:grid;gap:2px;padding:10px;border-radius:10px;background:var(--soft);color:var(--muted);font-size:10px;text-transform:uppercase}.diff-counts b{color:var(--ink);font-size:20px}.diff-counts .added b{color:#23774a}.diff-counts .updated b{color:#a85a12}.diff-counts .removed b{color:#a33c33}.diff-preview details{border-top:1px solid #eeeae6;padding:9px 2px}.diff-preview summary{color:var(--muted);font-size:12px;font-weight:750;cursor:pointer}.diff-preview ul{max-height:120px;margin:8px 0 0;padding-left:22px;overflow:auto;color:#5e5852;font-size:12px;line-height:1.55}.publish-confirm{width:100%;margin-top:14px}.missing-template-name{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #e6ad78;border-radius:7px;background:#fff3e7;color:#9a4d0c;font-size:14px;font-style:italic}.copy-error{background:#a33c33}.copy-error:hover{background:#8e2f28}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #f47c2055;outline-offset:2px}.roles-modal{width:min(100%,700px)}.roles-loading{display:flex;align-items:center;gap:9px;padding:24px 0;color:var(--muted);font-size:14px}.invite-form{display:grid;gap:7px;margin:4px 0 22px}.invite-form label{font-size:13px;font-weight:750}.invite-form>div{display:grid;grid-template-columns:1fr auto;gap:8px}.invite-form input{min-width:0;height:42px;padding:0 12px;border:1px solid var(--border);border-radius:10px;outline:none}.invite-form input:focus{border-color:var(--orange)}.roles-list,.pending-invites{display:grid;max-height:330px;overflow:auto;border:1px solid var(--border);border-radius:14px}.pending-invites{max-height:210px;margin-bottom:20px;border-color:#efd0b9;background:#fffaf6}.pending-invites h3{position:sticky;top:0;z-index:1;margin:0;padding:11px 14px;border-bottom:1px solid #efd0b9;background:#fff6ef}.access-heading,.pending-invites h3{display:flex;align-items:center;gap:7px;font-size:13px}.access-heading{margin:0 0 9px}.access-heading span,.pending-invites h3 span{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:99px;background:var(--orange-soft);color:var(--orange-dark);font-size:10px}.role-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px;padding:12px 14px;border-bottom:1px solid var(--border)}.role-row:last-child{border-bottom:0}.role-row>div:first-child{display:grid;gap:4px;min-width:0}.role-row strong{overflow:hidden;text-overflow:ellipsis;font-size:14px}.role-row span{color:var(--muted);font-size:12px}.role-actions,.invite-actions{display:flex;align-items:center;gap:7px;flex:none}.role-row select{width:145px;height:40px;flex:none;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--soft)}.role-row select:disabled{cursor:not-allowed;opacity:.65}.remove-button,.resend-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:0 10px;border:1px solid #e8c1bc;border-radius:9px;background:#fff;color:#9b3730;font-size:12px;font-weight:700}.resend-button{border-color:var(--border);color:var(--orange-dark)}.remove-button:hover{background:#fff1ef}.resend-button:hover{background:var(--orange-soft)}.remove-button:disabled,.resend-button:disabled{opacity:.5}.icon-remove{width:40px;padding:0}.roles-help{margin:14px 0 0!important;font-size:12px!important}@media(max-width:980px){.app-frame{grid-template-columns:1fr}.sidebar{position:sticky;z-index:20;width:100%;height:auto;padding:11px 15px}.brand,.sidebar-heading{display:none}.sidebar nav{display:flex;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}.sidebar nav button{flex:none;width:auto;white-space:nowrap}.content{width:min(100% - 30px,1120px);padding-top:30px}.controls{position:static}}@media(max-width:700px){.topbar{align-items:flex-start;flex-direction:column}.topbar h1{font-size:clamp(30px,10vw,38px)}.account-actions{width:100%;flex-wrap:wrap}.account-actions>div{width:100%;justify-items:start}.account-actions .primary{flex:1}.controls{grid-template-columns:minmax(0,1fr) 42px}.search{grid-column:1/-1}.summary,.card>header{align-items:flex-start;flex-direction:column}.copy{align-self:stretch}.response{padding:19px 18px}.login-card{padding:30px 24px}.diff-counts{grid-template-columns:1fr 1fr}.invite-form>div{grid-template-columns:1fr}.role-row{align-items:flex-start;flex-direction:column;gap:10px}.role-actions,.role-row select{width:100%}.role-actions select{flex:1}.pending-invites .role-row{align-items:center;flex-direction:row}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spin{animation:none}.card{transition:none}}
