:root{--maroon:#7A1829;--maroon-d:#5c1120;--maroon-soft:#f6e9ec;--gold:#F7B718;--ink:#1d1517;--muted:#6b6165;--line:#ebe4e5;--bg:#f7f4f4;--card:#fff;--ok:#1d6b45;--ok-bg:#e8f6ee;--err:#a1182b;--err-bg:#fdecef;--warn-bg:#fff4d6;--warn:#7a5600;--shadow:0 1px 2px rgba(40,10,14,.05),0 6px 18px -8px rgba(40,10,14,.12);--r:14px}*{box-sizing:border-box}html{font-family:ui-rounded,-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}body{margin:0}h1,h2{font-family:Nunito,ui-rounded,system-ui,sans-serif;font-weight:700;line-height:1.2;margin:0 0 .4rem;letter-spacing:-.01em}h1{font-size:1.75rem}h2{font-size:1.1rem}a{color:var(--maroon)}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.side{background:linear-gradient(180deg,#221518,#170e10);color:#fff;padding:1.3rem .9rem;display:flex;flex-direction:column;gap:1.4rem;position:sticky;top:0;height:100vh}.brand{color:#fff;text-decoration:none;font-weight:700;font-size:1.05rem;display:flex;align-items:center;gap:.7rem;padding:.2rem .4rem}.brand small{display:block;color:var(--gold);font-weight:600;font-size:.75rem;letter-spacing:.02em}.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--maroon);color:#fff;font-weight:800;font-size:.95rem;box-shadow:inset 0 0 0 1px #ffffff24,0 4px 10px -4px #000}.mark.big{width:56px;height:56px;border-radius:16px;font-size:1.3rem}.side nav{display:flex;flex-direction:column;gap:3px}.side nav a{color:#d9cdd0;text-decoration:none;padding:.55rem .75rem;border-radius:10px;min-height:44px;display:flex;align-items:center;gap:.7rem;font-weight:500;transition:background .15s,color .15s}.side nav a svg{flex:none;opacity:.85}.side nav a:hover{background:#ffffff12;color:#fff}.side nav a[aria-current=page]{background:var(--maroon);color:#fff;box-shadow:inset 0 0 0 1px #ffffff1a}.me{margin-top:auto;display:flex;flex-direction:column;gap:.3rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.who{display:flex;align-items:center;gap:.7rem;color:#fff;text-decoration:none;padding:.4rem;border-radius:10px;min-height:44px}.who:hover{background:#ffffff12}.who b{display:block;font-weight:600;font-size:.92rem;word-break:break-word}.who small{display:block;color:#b9acaf;text-transform:capitalize;font-size:.78rem}.side .link{color:#f3c6cc;text-align:left;text-decoration:none;padding:.5rem .4rem}.side .link:hover{color:#fff}.main{padding:2.2rem clamp(1rem,4vw,3rem) 4rem;max-width:880px;width:100%}.main.wide{max-width:1120px}.solo{min-height:100vh;display:grid;place-content:center;justify-items:center;padding:1rem;background:radial-gradient(900px 400px at 50% -10%,var(--maroon-soft),transparent),var(--bg)}.login-brand{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-bottom:.4rem}.login-brand p{margin:0;font-weight:700;font-size:1.2rem;text-align:center}.login-brand small{display:block;color:var(--maroon);font-weight:600;font-size:.8rem}.page-head,.head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.2rem}.page-head p,.head p{margin:0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.3rem 1.4rem;margin:1.2rem 0;display:grid;gap:.95rem;box-shadow:var(--shadow);align-content:start}.card.narrow{width:min(420px,100%)}.card h1,.card h2{margin:0}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.2rem}.cols .card{margin:0}.stats{display:flex;gap:1rem;flex-wrap:wrap;margin:.4rem 0 1rem}.stat{flex:1 1 220px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.3rem;text-decoration:none;color:var(--ink);display:grid;gap:.05rem;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;border-top:3px solid var(--maroon)}.stat:hover{transform:translateY(-2px)}.stat b{font-size:2.3rem;line-height:1.1;color:var(--maroon);font-weight:800}.stat span{font-weight:600}.stat em{font-style:normal;color:var(--muted);font-size:.88rem}.quick{display:flex;gap:.7rem;flex-wrap:wrap;margin:0 0 1.4rem}.empty{text-align:center;padding:2.5rem 1rem;background:#fff;border:1px dashed #d8cdd0;border-radius:var(--r);display:grid;gap:1rem;justify-items:center;color:var(--muted)}.feed{list-style:none;margin:0;padding:0;display:grid}.feed li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.feed li:last-child{border:0}.feed time{white-space:nowrap}.feed em{font-style:normal;color:var(--maroon)}label{display:grid;gap:.3rem;font-size:.88rem;color:var(--muted);font-weight:500}input,select,textarea{font:inherit;color:var(--ink);padding:.6rem .75rem;border:1px solid #d6cccf;border-radius:10px;background:#fff;min-height:44px;width:100%;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:#b9a9ad}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--maroon);box-shadow:0 0 0 3px #7a182926}textarea{resize:vertical}fieldset{border:0;padding:0;margin:0;display:grid;gap:.95rem;min-width:0}fieldset.access{border:1px solid var(--line);border-radius:12px;padding:1rem;background:#fcfafa}legend{padding:0 .4rem;color:var(--muted);font-size:.85rem}.levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.7rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:.95rem}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:.95rem}.check{display:flex;align-items:center;gap:.6rem;color:var(--ink)}.check input{width:auto;min-height:0;accent-color:var(--maroon)}.hint{color:var(--muted);font-size:.85rem;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#8a1c2f,var(--maroon));color:#fff;border:0;border-radius:11px;padding:.65rem 1.2rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;min-height:44px;box-shadow:0 2px 6px -2px #7a182980;transition:transform .12s,box-shadow .15s,background .15s}.btn:hover{background:var(--maroon-d);transform:translateY(-1px)}.btn:active{transform:none}.btn.ghost{background:#fff;color:var(--maroon);border:1px solid #d8bcc2;box-shadow:none}.btn.ghost:hover{background:var(--maroon-soft)}.btn.danger{background:#fff;color:var(--err);border:1px solid #e3a8b0;box-shadow:none}.btn.danger:hover{background:var(--err);color:#fff}.link{background:none;border:0;color:var(--maroon);cursor:pointer;font:inherit;padding:.5rem .45rem;min-height:44px;border-radius:8px;text-decoration:none;font-weight:500}.link:hover{background:var(--maroon-soft)}.link.danger{color:var(--err)}.link.danger:hover{background:var(--err-bg)}.tw{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r);margin:.6rem 0 1rem;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:560px}th,td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.78rem;color:var(--muted);font-weight:600;background:#fcfafa;white-space:nowrap}tbody tr{transition:background .12s}tbody tr:hover{background:#fdf9fa}tr:last-child td{border-bottom:0}tr.dim{opacity:.6}.actions{display:flex;gap:.1rem;flex-wrap:wrap;justify-content:flex-end}.actions form{display:inline}.person,.pkg{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--ink)}.person b,.pkg b{display:block;font-weight:600}.person small,.pkg small{display:block;font-size:.82rem}.pkg img{width:64px;height:44px;object-fit:cover;border-radius:8px;background:#eee;flex:none}.pkg:hover b{color:var(--maroon)}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--maroon-soft);color:var(--maroon);font-weight:700;font-size:.78rem;flex:none}.side .avatar{background:var(--maroon);color:#fff}.pill{display:inline-block;padding:.12rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600;background:#eee;color:#555;margin-right:.3rem}.pill.live{background:var(--ok-bg);color:var(--ok)}.pill.draft{background:var(--warn-bg);color:var(--warn)}.pill.role-owner{background:var(--maroon);color:#fff}.pill.role-admin{background:var(--maroon-soft);color:var(--maroon)}.pill.role-editor{background:#e9eefb;color:#2c4a9a}.pill.role-viewer{background:#eee;color:#555}.chips{list-style:none;padding:0;margin:0;display:flex;gap:.5rem;flex-wrap:wrap}.chips li{display:flex;gap:.45rem;align-items:center;background:#fcfafa;border:1px solid var(--line);border-radius:999px;padding:.25rem .45rem .25rem .8rem;font-size:.88rem;text-transform:capitalize}.chips li b{font-weight:600;border-radius:999px;padding:.05rem .6rem;font-size:.78rem;background:#eee}.lvl-none{opacity:.5}.chips li.lvl-read b{background:#e9eefb;color:#2c4a9a}.chips li.lvl-write b{background:var(--warn-bg);color:var(--warn)}.chips li.lvl-publish b{background:var(--ok-bg);color:var(--ok)}.chips li.lvl-delete b{background:var(--maroon);color:#fff}.flash{padding:.75rem 1rem;border-radius:12px;margin:0 0 1rem;background:#fff;border:1px solid var(--line);animation:in .25s ease}.flash.ok{border-color:#9fd3b5;background:var(--ok-bg);color:var(--ok)}.flash.err{border-color:#e6a3ac;background:var(--err-bg);color:var(--err)}@keyframes in{0%{opacity:0;transform:translateY(-4px)}}.key-once code{word-break:break-all;background:#fff8e1;border:1px solid var(--gold);padding:.7rem;border-radius:10px;display:block;user-select:all}.mail pre{white-space:pre-wrap;margin:0;font:inherit}.muted{color:var(--muted)}.small{font-size:.85rem}.plain{margin:0;padding-left:1.1rem}code{font-family:ui-monospace,Menlo,monospace;font-size:.9em;background:#f3eeef;padding:.05rem .35rem;border-radius:5px}.row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}@media(max-width:820px){.shell{grid-template-columns:1fr}.side{position:static;height:auto;padding:.9rem}.side nav{flex-direction:row;flex-wrap:wrap}.side nav a{padding:.45rem .7rem}.me{flex-direction:row;align-items:center;justify-content:space-between;margin-top:0;padding-top:.6rem}.two,.three{grid-template-columns:1fr}.head,.page-head{flex-direction:column}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.nav-sec{display:grid;gap:3px;margin-bottom:.9rem}.nav-title{padding:.2rem .75rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8f8286}.topbar,.scrim{display:none}@media(max-width:820px){.topbar{display:flex;position:sticky;top:0;z-index:20;justify-content:space-between;align-items:center;padding:.5rem .9rem;background:#1b1214;color:#fff}.menu-btn{background:none;border:0;color:#fff;width:44px;height:44px;border-radius:10px;cursor:pointer}.menu-btn:hover{background:#ffffff1a}.shell{display:block}.side{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);height:100dvh;z-index:40;transform:translate(-100%);transition:transform .25s ease;overflow-y:auto}.side.open{transform:none}.side>.brand{display:none}.side nav{flex-direction:column;flex-wrap:nowrap}.scrim{display:block;position:fixed;inset:0;background:#14080a80;z-index:30;backdrop-filter:blur(2px)}.scrim[hidden]{display:none}.me{flex-direction:column;align-items:stretch}}.access{display:grid;gap:.9rem}.field-title{font-weight:600;font-size:.92rem;color:var(--ink);display:flex;flex-wrap:wrap;gap:.2rem .7rem;align-items:baseline}.field-title .hint{font-weight:400}.role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.7rem}.role-card{display:block;position:relative;cursor:pointer;color:var(--ink)}.role-card input{position:absolute;opacity:0;inset:0;min-height:0;width:100%;height:100%;cursor:pointer}.rc-body{display:grid;gap:.35rem;padding:.8rem .9rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;height:100%;transition:border-color .15s,box-shadow .15s,background .15s}.role-card:hover .rc-body{border-color:#c9b4b9}.role-card input:checked+.rc-body{border-color:var(--maroon);background:var(--maroon-soft);box-shadow:0 0 0 3px #7a18291f}.role-card input:focus-visible+.rc-body{outline:3px solid var(--gold);outline-offset:2px}.rc-top{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.rc-top .pill{margin:0;font-size:.7rem}.rc-body small{color:var(--muted);font-size:.8rem;line-height:1.35}.area-list{display:grid;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.area{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.7rem .9rem;border-bottom:1px solid var(--line)}.area:last-child{border:0}.area-info{display:grid;padding:0}.area-info b{font-weight:600;font-size:.92rem}.area-info small{color:var(--muted);font-size:.8rem}.area{display:flex}.area legend{display:contents}.seg{display:inline-flex;background:#f1ecec;border-radius:10px;padding:3px;gap:2px}.seg-opt{position:relative;display:block;margin:0}.seg-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;min-height:0;cursor:pointer}.seg-opt span{display:grid;place-items:center;min-width:56px;min-height:38px;padding:0 .6rem;border-radius:8px;font-size:.8rem;font-weight:600;color:#6b5f63;text-transform:capitalize;transition:background .12s,color .12s}.seg-opt:hover span{background:#7a182914}.seg-opt input:checked+span{background:var(--maroon);color:#fff;box-shadow:0 1px 3px #0003}.seg-opt input:focus-visible+span{outline:3px solid var(--gold);outline-offset:1px}.seg-opt.off{opacity:.35}.seg-opt.off input{cursor:not-allowed}.stats.mini{gap:.7rem;margin:.2rem 0 1rem}.stat.flat{flex:0 1 150px;border-top:0;padding:.7rem 1rem;box-shadow:none}.stat.flat b{font-size:1.5rem}.stat.flat:hover{transform:none}.tabbar{display:flex;gap:.2rem;border-bottom:1px solid var(--line);margin:0 0 1rem;overflow-x:auto}.tabbar a{padding:.65rem 1rem;color:var(--muted);text-decoration:none;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;min-height:44px;display:flex;align-items:center;gap:.4rem}.tabbar a:hover{color:var(--ink)}.tabbar a.on{color:var(--maroon);border-color:var(--maroon)}.count{background:var(--maroon-soft);color:var(--maroon);border-radius:999px;font-size:.75rem;padding:0 .5rem}.search{max-width:360px;margin-bottom:.4rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%236b6165' stroke-width='2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat .75rem center;padding-left:2.5rem}.block{display:block}.lv{display:inline-block;padding:.1rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;background:#eee;color:#777}.lv-read{background:#e9eefb;color:#2c4a9a}.lv-write{background:var(--warn-bg);color:var(--warn)}.lv-publish{background:var(--ok-bg);color:var(--ok)}.lv-delete{background:var(--maroon);color:#fff}.legend{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.85rem}.modal{border:0;border-radius:18px;padding:0;width:min(720px,calc(100vw - 1.5rem));max-height:92vh;box-shadow:0 30px 80px -20px #1e080c80;color:var(--ink)}.modal::backdrop{background:#18080c80;backdrop-filter:blur(3px)}.modal[open]{animation:pop .2s ease}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.modal form{display:grid;max-height:92vh}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:1.1rem 1.4rem;border-bottom:1px solid var(--line);background:#fcfafa}.modal-head h2{margin:0}.modal-head p{margin:.1rem 0 0}.pane{display:grid;gap:1rem;padding:1.2rem 1.4rem;overflow-y:auto}.pane[hidden]{display:none}.modal-foot{display:flex;justify-content:flex-end;gap:.7rem;padding-top:.4rem}.mail-preview{border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;display:grid;gap:.5rem;background:#fff}.mail-preview p{margin:0}.mail-body{white-space:pre-wrap;padding:.8rem;background:#fcfafa;border-radius:10px;border:1px dashed #d8cdd0}@media(prefers-reduced-motion:reduce){.modal[open],.side{animation:none;transition:none}}.area{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.area-info,.area-info b{color:var(--ink)}@media(max-width:560px){.area{grid-template-columns:1fr}.seg{width:100%}.seg-opt{flex:1}.seg-opt span{min-width:0}}.area-info small{display:block}.area .seg{justify-self:end}.main{position:relative}.help-btn{position:absolute;top:1.4rem;right:clamp(1rem,3vw,2rem);width:40px;height:40px;border-radius:50%;border:1.5px solid #d8bcc2;background:#fff;color:var(--maroon);font:inherit;font-weight:800;font-size:1.05rem;cursor:pointer;box-shadow:var(--shadow);transition:background .15s,color .15s,transform .12s;z-index:5}.help-btn:hover{background:var(--maroon);color:#fff;transform:scale(1.06)}.main .head .btn,.main .page-head .btn{margin-right:52px}.drawer{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(460px,100vw);border:0;padding:0;background:#fff;color:var(--ink);box-shadow:-20px 0 60px -20px #1e080c66;display:flex;flex-direction:column}.drawer:not([open]){display:none}.drawer::backdrop{background:#18080c73;backdrop-filter:blur(2px)}.drawer[open]{animation:slide .22s ease}@keyframes slide{0%{transform:translate(24px);opacity:0}}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;padding:1.1rem 1.4rem;border-bottom:1px solid var(--line);background:#fcfafa}.drawer-head h2{margin:0;font-size:1.25rem}.drawer-head p{margin:0}.drawer-body{padding:1.2rem 1.4rem 2.5rem;overflow-y:auto;display:grid;gap:1.1rem;align-content:start}.drawer-body .lead{font-size:1.02rem;margin:0;padding:.8rem 1rem;background:var(--maroon-soft);border-radius:12px;color:var(--maroon-d)}.drawer-body h3{font-size:.95rem;margin:0 0 .3rem}.drawer-body p{margin:0;color:#3a3034}.drawer-body ul{margin:0;padding-left:1.15rem;display:grid;gap:.3rem;color:#3a3034}.drawer-body pre{margin:.2rem 0 0;background:#1b1214;color:#f3e7e9;padding:.8rem 1rem;border-radius:10px;overflow-x:auto;font-size:.82rem;line-height:1.5}.drawer-body pre code{background:none;padding:0;color:inherit}@media(max-width:820px){.help-btn{top:.8rem}.main .head .btn,.main .page-head .btn{margin-right:0}.main{padding-top:3.6rem}}@media(prefers-reduced-motion:reduce){.drawer[open]{animation:none}}.drawer{box-sizing:border-box;overflow:hidden}.drawer-body{grid-template-columns:minmax(0,1fr)}.drawer-body pre{white-space:pre-wrap;word-break:break-all}.main,.main.wide{max-width:none}.card.narrow{max-width:420px}.side-top{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.collapse-btn{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;border:0;background:#ffffff0f;color:#d9cdd0;cursor:pointer;flex:none;transition:background .15s,transform .2s}.collapse-btn:hover{background:#ffffff24;color:#fff}.shell{transition:grid-template-columns .22s ease}@media(min-width:821px){html[data-nav=collapsed] .shell{grid-template-columns:76px minmax(0,1fr)}html[data-nav=collapsed] .side{padding-inline:.6rem;align-items:center}html[data-nav=collapsed] .side-top{flex-direction:column;gap:.7rem}html[data-nav=collapsed] .brand>span:not(.mark),html[data-nav=collapsed] .nav-title,html[data-nav=collapsed] .who>span:not(.avatar){display:none}html[data-nav=collapsed] .collapse-btn svg{transform:rotate(180deg)}html[data-nav=collapsed] .side nav{width:100%}html[data-nav=collapsed] .nav-sec{margin-bottom:.4rem;padding-bottom:.4rem;border-bottom:1px solid rgba(255,255,255,.08)}html[data-nav=collapsed] .side nav a{justify-content:center;padding-inline:0;font-size:0;gap:0}html[data-nav=collapsed] .side nav a svg{width:20px;height:20px}html[data-nav=collapsed] .me{align-items:center;width:100%}html[data-nav=collapsed] .side .link{font-size:.72rem;padding-inline:0;text-align:center}}@media(max-width:820px){.collapse-btn{display:none}}@media(prefers-reduced-motion:reduce){.shell,.collapse-btn{transition:none}}.nav-badge{margin-left:auto;background:var(--gold);color:#3a2600;font-size:.72rem;font-weight:800;border-radius:999px;padding:0 .5rem;min-width:22px;text-align:center;line-height:1.5}html[data-nav=collapsed] .nav-badge{position:absolute;top:2px;right:6px;font-size:.62rem;min-width:18px;padding:0 .3rem}.side nav a{position:relative}.toasts{position:fixed;right:1rem;bottom:1rem;display:grid;gap:.5rem;z-index:100;max-width:min(380px,calc(100vw - 2rem))}.toast{display:flex;align-items:center;gap:.7rem;padding:.75rem .9rem;border-radius:12px;background:#1b1214;color:#fff;box-shadow:0 12px 30px -10px #00000080;animation:in .25s ease;border-left:4px solid var(--gold)}.toast.err{border-left-color:#ff6b7d}.toast.ok{border-left-color:#4cc38a}.toast-x{margin-left:auto;background:none;border:0;color:#bbb;cursor:pointer;font-size:.9rem;min-width:32px;min-height:32px;border-radius:8px}.toast-x:hover{background:#ffffff1a;color:#fff}.palette{border:0;border-radius:16px;padding:.9rem;width:min(520px,calc(100vw - 1.5rem));margin-top:12vh;box-shadow:0 30px 80px -20px #1e080c8c}.palette::backdrop{background:#18080c73;backdrop-filter:blur(3px)}.palette ul{list-style:none;margin:.6rem 0;padding:0;max-height:50vh;overflow:auto}.palette li a{display:block;padding:.6rem .8rem;border-radius:10px;color:var(--ink);text-decoration:none;min-height:44px}.palette li a:hover,.palette li.sel a{background:var(--maroon-soft);color:var(--maroon)}kbd{font:inherit;font-size:.78rem;background:#f1ecec;border:1px solid var(--line);border-radius:6px;padding:0 .35rem}.head-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.main .head-actions{margin-right:52px}.btn.small{min-height:36px;padding:.3rem .8rem;font-size:.88rem}.with-btn{display:flex;gap:.5rem}.with-btn .btn{flex:none}.mono{font-family:ui-monospace,Menlo,monospace;font-size:.9rem;line-height:1.55}.stack{display:grid;gap:.6rem}.inline-form{display:flex;gap:.6rem}.inline-form select{flex:1}.count.alert{background:var(--gold);color:#3a2600;font-weight:700}.savebar{position:sticky;bottom:0;padding:.8rem 0;background:linear-gradient(transparent,var(--bg) 40%)}.filters{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-bottom:.4rem}.filters input[type=search]{max-width:320px}.filters select{max-width:200px}.pager{display:flex;justify-content:space-between;align-items:center;margin:.6rem 0 2rem}.thumb-empty{width:64px;height:44px;border-radius:8px;background:repeating-linear-gradient(45deg,#f1ecec,#f1ecec 6px,#faf6f6 6px 12px);flex:none}.settings{display:grid;gap:0;max-width:760px}.settings .card{margin:.6rem 0}.viewtoggle{display:inline-flex;background:#efe9ea;border-radius:10px;padding:3px}.viewtoggle a{padding:.4rem .9rem;border-radius:8px;text-decoration:none;color:#6b5f63;font-weight:600;font-size:.9rem;min-height:36px;display:grid;place-items:center}.viewtoggle a.on{background:#fff;color:var(--maroon);box-shadow:0 1px 3px #0000001f}.board{display:grid;grid-template-columns:repeat(5,minmax(240px,1fr));gap:.8rem;overflow-x:auto;padding:.6rem 0 1.2rem;align-items:start}.col{background:#efe9ea;border-radius:14px;padding:.6rem;display:grid;gap:.6rem;min-width:240px}.col>header{display:flex;align-items:center;gap:.5rem;padding:.2rem .3rem}.col>header .count{margin-left:auto}.dot{width:10px;height:10px;border-radius:50%;background:#999}.dot-new{background:var(--gold)}.dot-contacted{background:#4a7fd6}.dot-quoted{background:#9b59b6}.dot-booked{background:#2e9e68}.dot-lost{background:#999}.cards{display:grid;gap:.5rem;min-height:70px;align-content:start;border-radius:10px;transition:background .15s,outline-color .15s;outline:2px dashed transparent;outline-offset:-2px}.cards.over{background:#7a182914;outline-color:#7a182966}.ecard{display:grid;gap:.5rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.75rem;text-decoration:none;color:var(--ink);box-shadow:0 1px 2px #280a0e0d;cursor:grab;transition:box-shadow .15s,transform .12s}.ecard:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.ecard.dragging{opacity:.4;cursor:grabbing}.ecard[hidden]{display:none}.e-top{display:flex;gap:.6rem;align-items:center}.e-name{display:grid;min-width:0}.e-name b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.e-pkg{font-size:.78rem;font-weight:600;color:var(--maroon);background:var(--maroon-soft);padding:.1rem .6rem;border-radius:999px;justify-self:start}.e-msg{font-size:.88rem;color:#4a3f43;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.e-foot{display:flex;justify-content:space-between;gap:.5rem}.col-empty{text-align:center;padding:1rem 0;margin:0}.pill.stage-new{background:var(--warn-bg);color:var(--warn)}.pill.stage-contacted{background:#e3ecfb;color:#2c4a9a}.pill.stage-quoted{background:#f0e5f7;color:#6b2f86}.pill.stage-booked{background:var(--ok-bg);color:var(--ok)}.pill.stage-lost{background:#eee;color:#666}@media(max-width:820px){.board{grid-template-columns:repeat(5,82vw);scroll-snap-type:x mandatory}.col{scroll-snap-align:start}}.detail{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:1.2rem;align-items:start}.detail .card{margin:0 0 1.2rem}.detail-side>form{margin-top:.2rem}@media(max-width:980px){.detail{grid-template-columns:1fr}}.person.big{gap:1rem}.person.big .avatar{width:52px;height:52px;font-size:1rem}.person.big h1,.person.big p{margin:0}.message{white-space:pre-wrap;margin:0;font-size:1.02rem;line-height:1.65}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:0}.facts dt{font-size:.78rem;color:var(--muted);font-weight:600}.facts dd{margin:.1rem 0 0;word-break:break-word}.stepper{display:flex;gap:4px}.step{flex:1;height:6px;border-radius:3px;background:#eadfe1}.step.now{background:var(--maroon)}.timeline{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}.timeline li{border-left:3px solid var(--maroon-soft);padding-left:.8rem}.timeline li.ev{border-left-color:var(--gold)}.timeline p{margin:0;white-space:pre-wrap}.review-list{display:grid;gap:.9rem}.review{margin:0}.review header{display:flex;gap:.8rem;align-items:center}.review .grow{flex:1}.review footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.review p{margin:0}.stars{color:#e0a100;letter-spacing:.08em;white-space:nowrap}.dropcard{grid-template-columns:1fr auto;align-items:center}.drop{display:grid;justify-items:center;gap:.3rem;padding:1.6rem 1rem;border:2px dashed #d3c2c6;border-radius:14px;cursor:pointer;text-align:center;color:var(--ink);position:relative;transition:background .15s,border-color .15s}.drop:hover,.drop.over{background:var(--maroon-soft);border-color:var(--maroon)}.drop svg{color:var(--maroon)}.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;min-height:0}@media(max-width:700px){.dropcard{grid-template-columns:1fr}}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin:1rem 0 2rem}.media-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);display:grid}.media-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eee;display:block}.media-card figcaption{display:grid;gap:.4rem;padding:.8rem}.media-card figcaption b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copyrow,.altform{display:flex;gap:.4rem}.copyrow input,.altform input{min-height:36px;font-size:.82rem;padding:.3rem .5rem}.media-grid.picker{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.7rem;margin:0}.media-tile{border:2px solid transparent;border-radius:12px;padding:0;background:#fff;cursor:pointer;display:grid;text-align:left;overflow:hidden;box-shadow:var(--shadow);font:inherit}.media-tile:hover,.media-tile:focus-visible{border-color:var(--maroon)}.media-tile img{width:100%;aspect-ratio:1;object-fit:cover}.media-tile span{padding:.3rem .5rem;font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spark{width:100%;height:90px;display:block}.spark-line{fill:none;stroke:var(--maroon);stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linejoin:round}.spark-fill{fill:#7a18291a;stroke:none}.spark-axis{display:flex;justify-content:space-between}.funnel{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.funnel li{display:grid;grid-template-columns:84px 1fr 28px;align-items:center;gap:.6rem;font-size:.9rem}.funnel .bar{height:10px;background:#f1ecec;border-radius:6px;overflow:hidden}.funnel .bar i{display:block;height:100%;border-radius:6px;min-width:4px}.funnel b{text-align:right}.feed .person small{display:block}@media(prefers-reduced-motion:reduce){.toast,.ecard,.cards{animation:none;transition:none}}.stats:not(.mini){display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stats:not(.mini) .stat{flex:none}.board{grid-template-columns:repeat(5,minmax(205px,1fr))}.col{min-width:205px}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin:1rem 0 2rem}.album-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);display:grid;transition:transform .15s}.album-card:hover{transform:translateY(-2px)}.album-card.dim .album-cover img{filter:grayscale(.6);opacity:.8}.album-cover{position:relative;display:block;aspect-ratio:4/3;background:#efe9ea}.album-cover img{width:100%;height:100%;object-fit:cover;display:block}.cover-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:.9rem}.album-cover .pill{position:absolute;top:.6rem;left:.6rem;margin:0;box-shadow:0 1px 4px #0003}.album-meta{display:grid;padding:.7rem .9rem 0}.album-meta a{color:var(--ink);text-decoration:none}.album-meta a:hover{color:var(--maroon)}.album-card .actions{justify-content:space-between;padding:.2rem .5rem .5rem}.album-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.2rem;align-items:start}.album-layout .card{margin:0 0 1rem}@media(max-width:980px){.album-layout{grid-template-columns:1fr}}.photo-grid{list-style:none;margin:.6rem 0 2rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.9rem}.photo{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);display:grid;align-content:start;cursor:grab}.photo.dragging{opacity:.35}.photo-img{position:relative;aspect-ratio:1}.photo-img img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.cover-tag{position:absolute;top:.5rem;left:.5rem;margin:0}.photo .altform{padding:.4rem .5rem 0}.photo .actions{padding:0 .3rem .3rem;justify-content:space-between}.stack .btn{width:100%}.media-tile.pick{position:relative;cursor:pointer}.media-tile.pick input{position:absolute;top:.5rem;left:.5rem;width:20px;height:20px;min-height:0;accent-color:var(--maroon);z-index:2}.media-tile.pick:has(input:checked){border-color:var(--maroon);box-shadow:0 0 0 3px #7a182933}
