:root{--bg:#e8eaed;--surface:#fff;--surface-2:#f4f5f6;--ink:#111315;--muted:#5e6670;--line:#1d2125;--soft-line:#aeb4bb;--accent:#b7f34a;--accent-strong:#8fd400;--blue:#2f64ff;--danger:#e33b32;--warning:#ffb000;--shadow:5px 5px 0 #1d2125}*{box-sizing:border-box;letter-spacing:0!important;border-radius:0!important}html{background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;min-height:100%}body{min-height:100vh;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:2px}button:disabled{cursor:wait}.app-shell{width:min(100%,680px);min-height:100vh;padding:max(18px, env(safe-area-inset-top)) 14px calc(92px + env(safe-area-inset-bottom));margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.eyebrow,.section-head p,.admin-section-head p,.admin-card-head p{color:var(--muted);text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:900;line-height:1.2}.topbar h1,.section-head h2{margin:0;font-size:26px;line-height:1}.profile{border:2px solid var(--line);background:var(--surface);min-width:0;box-shadow:3px 3px 0 var(--line);align-items:center;gap:8px;padding:6px 8px 6px 6px;display:inline-flex}.profile span,.avatars span,.admin-row>span,.request-person>span{background:var(--ink);color:#fff;flex:none;place-items:center;width:30px;height:30px;font-size:11px;font-weight:900;display:grid}.profile b{text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-size:13px;overflow:hidden}.summary{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.stat{border:2px solid var(--line);background:var(--surface);border-top-width:6px;min-width:0;padding:12px}.stat:first-child{border-top-color:var(--accent-strong)}.stat:nth-child(2){border-top-color:var(--blue)}.stat:nth-child(3){border-top-color:var(--warning)}.stat b{font-size:24px;line-height:1;display:block}.stat span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:12px;font-weight:800;display:block;overflow:hidden}.columns{overscroll-behavior-x:contain;scrollbar-width:none;gap:8px;margin:0 -14px 16px;padding:0 14px 4px;display:flex;overflow-x:auto}.columns::-webkit-scrollbar{display:none}.column-tab{border:2px solid var(--line);background:var(--surface);min-width:max-content;min-height:44px;color:var(--ink);align-items:center;gap:8px;padding:9px 10px;font-size:13px;font-weight:900;display:inline-flex}.column-tab i{border:1px solid var(--line);width:10px;height:10px}.column-tab b{border:1px solid var(--line);background:var(--surface-2);min-width:23px;height:23px;color:var(--ink);place-items:center;padding:0 5px;font-size:11px;display:grid}.column-tab.active{background:var(--ink);color:#fff}.column-tab.active b{border-color:var(--accent);background:var(--accent);color:var(--ink)}.section-head{justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px;display:flex}.ghost-btn{border:2px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink);padding:9px 12px;font-size:13px;font-weight:900}.ghost-btn:active{background:var(--accent)}.task-list{gap:12px;display:grid}.task-card{border:2px solid var(--line);background:var(--surface);box-shadow:4px 4px 0 var(--line);position:relative;overflow:hidden}.task-card:before{content:"";border-right:2px solid var(--line);background:#7b8794;width:7px;position:absolute;inset:0 auto 0 0}.task-card.priority-high:before{background:#ff7a00}.task-card.priority-urgent:before{background:var(--danger)}.task-card.priority-low:before{background:#3cb54a}.task-main{width:100%;color:inherit;text-align:left;background:0 0;padding:15px 15px 10px 22px;display:block}.task-priority{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);text-transform:uppercase;margin-bottom:8px;padding:4px 7px;font-size:10px;font-weight:900;display:inline-flex}.task-main h3{overflow-wrap:anywhere;margin:0;font-size:18px;line-height:1.16}.task-main p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.task-meta{justify-content:space-between;align-items:center;gap:10px;padding:0 15px 13px 22px;display:flex}.avatars{align-items:center;display:flex}.avatars span{border:2px solid var(--surface);width:27px;height:27px;margin-left:-4px;font-size:10px}.avatars span:first-child{margin-left:0}.avatars em,.task-meta time{color:var(--muted);font-size:12px;font-style:normal;font-weight:800}.move-btn{border:2px solid var(--line);background:var(--ink);color:#fff;width:calc(100% - 34px);min-height:42px;margin:0 14px 14px 20px;padding:9px 12px;font-size:13px;font-weight:900}.move-btn:active{background:var(--blue)}.empty,.admin-empty{border:2px dashed var(--soft-line);background:var(--surface-2);color:var(--muted);text-align:center;gap:6px;padding:26px 16px;display:grid}.empty b,.admin-empty b{color:var(--ink)}.empty span,.admin-empty span{font-size:13px;line-height:1.4}.fab{right:max(14px, env(safe-area-inset-right));bottom:calc(78px + env(safe-area-inset-bottom));z-index:20;border:2px solid var(--line);background:var(--accent);width:56px;height:56px;color:var(--ink);box-shadow:4px 4px 0 var(--line);place-items:center;font-size:32px;font-weight:700;line-height:1;display:grid;position:fixed}.fab:active{box-shadow:1px 1px 0 var(--line);transform:translate(3px,3px)}.bottom-nav{left:50%;bottom:max(10px, env(safe-area-inset-bottom));z-index:30;border:2px solid var(--line);background:var(--surface);width:min(100% - 24px,430px);box-shadow:4px 4px 0 var(--line);grid-auto-flow:column;gap:0;padding:0;display:grid;position:fixed;transform:translate(-50%)}.bottom-nav button{border-right:2px solid var(--line);min-height:50px;color:var(--muted);background:0 0;padding:10px 14px;font-size:13px;font-weight:900}.bottom-nav button:last-child{border-right:0}.bottom-nav button.active{background:var(--accent);color:var(--ink)}.sheet-backdrop{z-index:80;background:#111315b3;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-height:min(90vh,820px);padding:12px 14px calc(18px + env(safe-area-inset-bottom));border:2px solid var(--line);background:var(--surface);border-bottom:0;overflow-y:auto}.sheet-grip{background:var(--line);width:48px;height:5px;margin:0 auto 14px}.sheet-head{border-bottom:2px solid var(--line);justify-content:space-between;gap:14px;margin-bottom:16px;padding-bottom:14px;display:flex}.sheet-head p{color:var(--muted);text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:900}.sheet-head h2{overflow-wrap:anywhere;margin:0;font-size:24px;line-height:1.08}.sheet-head button,.sheet-actions button,.admin-card>button{border:2px solid var(--line);background:var(--ink);color:#fff;align-self:start;min-height:44px;padding:10px 14px;font-size:13px;font-weight:900}.sheet label,.admin-card label,.role-field{color:var(--muted);text-transform:uppercase;gap:7px;margin-bottom:12px;font-size:12px;font-weight:900;display:grid}.sheet input,.sheet textarea,.sheet select,.admin-card input,.admin-card select{border:2px solid var(--line);color:#111315;width:100%;min-height:50px;caret-color:var(--blue);text-transform:none;background:#fff;padding:12px 13px;font-size:16px;font-weight:750}.sheet input::placeholder,.sheet textarea::placeholder,.admin-card input::placeholder{color:#777f88;opacity:1}.sheet select,.admin-card select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.sheet select option,.admin-card select option{color:#111315;background:#fff}.sheet textarea{resize:vertical;min-height:96px}.field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.assignees{gap:9px;margin:14px 0;display:grid}.assignees>span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.assignees div{flex-wrap:wrap;gap:8px;display:flex}.chip{border:2px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink);padding:9px 11px;font-size:13px;font-weight:900}.chip.on{background:var(--accent)}.sheet-actions{background:var(--surface);justify-content:flex-end;gap:10px;padding-top:12px;display:flex;position:sticky;bottom:0}.sheet-actions .danger-btn{border-color:var(--danger);color:var(--danger);background:#fff;margin-right:auto}.sheet-actions button:disabled,.admin-card button:disabled,.request-actions button:disabled,.primary-action:disabled{opacity:.48}.admin{gap:14px;display:grid}.admin-section,.admin-card{border:2px solid var(--line);background:var(--surface);box-shadow:4px 4px 0 var(--line);margin:0;padding:14px}.admin-section-head,.admin-card-head{border-bottom:2px solid var(--line);justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px;padding-bottom:12px;display:flex}.admin-section-head h3,.admin-card-head h3{color:var(--ink);text-transform:none;margin:0;font-size:19px;line-height:1.1}.admin-section-head>strong{border:2px solid var(--line);background:var(--accent);place-items:center;min-width:42px;height:42px;font-size:18px;display:grid}.admin-card{color:var(--ink);display:block}.admin-card-compact{margin-top:2px}.request-list,.admin-list{gap:10px;display:grid}.request-row{border:2px solid var(--line);background:var(--surface-2);gap:12px;padding:12px;display:grid}.request-person{align-items:center;gap:10px;min-width:0;display:flex}.request-person>span{background:var(--blue);width:38px;height:38px}.request-person>div{min-width:0;display:grid}.request-person b,.admin-row b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.request-person small,.admin-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750;line-height:1.35;overflow:hidden}.role-field>span{color:var(--muted);font-size:12px;font-weight:900}.role-switch{border:2px solid var(--line);background:var(--surface);grid-template-columns:1fr 1fr;display:grid}.role-switch button{border-right:2px solid var(--line);color:#111315;background:#fff;min-width:0;min-height:46px;padding:9px 8px;font-size:13px;font-weight:900}.role-switch button:last-child{border-right:0}.role-switch button.active{background:var(--accent);color:var(--ink)}.request-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.request-actions button{border:2px solid var(--line);min-height:44px;padding:9px 10px;font-size:13px;font-weight:900}.reject-action{color:var(--danger);background:#fff}.approve-action,.primary-action{background:var(--accent);color:var(--ink)}.primary-action{border:2px solid var(--line);width:100%;min-height:50px;box-shadow:3px 3px 0 var(--line);padding:11px 14px;font-size:14px;font-weight:950}.primary-action:active{box-shadow:none;transform:translate(3px,3px)}.admin-row{border:2px solid var(--line);background:var(--surface);align-items:center;gap:10px;min-width:0;padding:11px;display:flex}.admin-row>div{flex:1;gap:2px;min-width:0;display:grid}.admin-row>em{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);text-transform:uppercase;flex:none;padding:5px 7px;font-size:10px;font-style:normal;font-weight:900}.color-field input{cursor:pointer;height:50px;padding:4px}.splash,.access-screen{min-height:100vh;padding:max(18px, env(safe-area-inset-top)) 14px max(18px, env(safe-area-inset-bottom));place-items:center;display:grid}.splash{text-align:center;align-content:center}.splash h1{margin:16px 0 8px;font-size:28px}.splash p{max-width:30ch;color:var(--muted);margin:0}.pulse-dot{border:2px solid var(--line);background:var(--accent);width:20px;height:20px;animation:1.1s steps(2,jump-none) infinite pulse}.splash.danger .pulse-dot{background:var(--danger)}@keyframes pulse{50%{transform:scale(1.45)}}.access-panel{border:2px solid var(--line);background:var(--surface);width:min(100%,430px);box-shadow:var(--shadow);padding:16px}.access-brand{border-bottom:2px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;font-size:12px;font-weight:950;display:flex}.access-brand b{border:2px solid var(--line);background:var(--ink);color:#fff;place-items:center;width:36px;height:30px;display:grid}.access-status{border:2px solid var(--line);background:var(--accent);width:74px;height:74px;box-shadow:5px 5px 0 var(--line);place-items:center;margin:26px 0 20px;font-size:34px;font-weight:950;display:grid}.access-status-pending{background:var(--warning)}.access-status-rejected{background:var(--danger);color:#fff}.access-copy>p{color:var(--muted);text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:900}.access-copy h1{margin:0;font-size:32px;line-height:1}.access-copy>span{color:var(--muted);margin-top:12px;font-size:15px;line-height:1.45;display:block}.access-identity{border:2px solid var(--line);background:var(--surface-2);align-items:center;gap:12px;margin:22px 0 14px;padding:12px;display:flex}.access-identity>strong{background:var(--blue);color:#fff;flex:none;place-items:center;width:44px;height:44px;font-size:14px;display:grid}.access-identity>div{gap:2px;min-width:0;display:grid}.access-identity b,.access-identity span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.access-identity span,.access-time{color:var(--muted);font-size:12px;font-weight:750}.access-time{margin:-3px 0 14px}@media (min-width:700px){.sheet{border-bottom:2px solid var(--line);width:min(560px,100% - 28px);box-shadow:7px 7px 0 var(--line);margin:0 auto 18px}}@media (max-width:380px){.app-shell{padding-left:10px;padding-right:10px}.profile b{display:none}.summary{gap:5px}.stat{padding:10px 8px}.field-grid{grid-template-columns:1fr;gap:0}}
