.portal-root{--p-bg: #0A0A0A;--p-bg-elev: #0F0F0F;--p-surface: #161616;--p-border: #2A2A2A;--p-text: #F5F0E6;--p-text-mute: #999;--p-text-soft: #555;--p-amber: #E8B86F;--p-amber-soft:rgba(232, 184, 111, .16);--p-amber-glow:rgba(232, 184, 111, .45);--p-danger: #E89B7B;background:var(--p-bg);color:var(--p-text);font-family:Inter,system-ui,sans-serif;min-height:100vh;position:relative;overflow-x:hidden}.portal-root .grid-bg{position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(232,184,111,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(232,184,111,.04) 1px,transparent 1px);background-size:60px 60px;animation:portal-grid-scroll 30s linear infinite;pointer-events:none;z-index:0}.portal-root .vignette{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 0%,var(--p-bg) 85%);pointer-events:none;z-index:1}.portal-root .sweep{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--p-amber-glow) 40%,var(--p-amber) 50%,var(--p-amber-glow) 60%,transparent);transform:translateY(-100%);animation:portal-sweep-down 4.5s ease-in-out 2.8s 1 forwards;z-index:2;box-shadow:0 0 20px var(--p-amber-glow)}@keyframes portal-grid-scroll{0%{background-position:0 0}to{background-position:60px 60px}}@keyframes portal-sweep-down{0%{transform:translateY(-10px);opacity:0}10%{opacity:1}50%{transform:translateY(100vh);opacity:1}to{transform:translateY(100vh);opacity:0}}.portal-boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--p-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;animation:portal-boot-fade-out .6s ease 2.4s forwards}@keyframes portal-boot-fade-out{to{opacity:0;pointer-events:none;visibility:hidden}}.portal-boot-disc{position:relative;width:180px;height:180px;margin-bottom:36px;animation:portal-boot-disc-in .8s ease-out}@keyframes portal-boot-disc-in{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.portal-boot-disc svg{width:100%;height:100%;display:block;position:relative;z-index:2}.portal-boot-disc .ring-a,.portal-boot-disc .ring-b{transform-origin:center;animation:portal-rotate 8s linear infinite}.portal-boot-disc .ring-b{animation-duration:5s;animation-direction:reverse}.portal-boot-disc:before,.portal-boot-disc:after{content:"";position:absolute;top:30px;right:30px;bottom:30px;left:30px;border-radius:50%;border:1px solid var(--p-amber);animation:portal-sonar-ping 2.4s ease-out infinite;z-index:1}.portal-boot-disc:after{animation-delay:1.2s}@keyframes portal-sonar-ping{0%{transform:scale(.6);opacity:1}to{transform:scale(2.2);opacity:0}}.portal-boot-line{position:fixed;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--p-amber) 50%,transparent);box-shadow:0 0 12px var(--p-amber-glow);top:50%}.portal-boot-line.up{animation:portal-line-up 1.3s ease 1.1s forwards}.portal-boot-line.down{animation:portal-line-down 1.3s ease 1.1s forwards}@keyframes portal-line-up{0%{top:50%;opacity:1}to{top:0;opacity:0}}@keyframes portal-line-down{0%{top:50%;opacity:1}to{top:100%;opacity:0}}.portal-boot-text{font-family:DM Mono,monospace;font-size:13px;letter-spacing:.22em;color:var(--p-amber);text-transform:uppercase;position:relative;min-height:20px;text-align:center}.portal-boot-text span{position:absolute;left:50%;transform:translate(-50%);opacity:0;white-space:nowrap}.portal-boot-text .l1{animation:portal-line-flash .65s ease .45s forwards}.portal-boot-text .l2{animation:portal-line-flash .65s ease 1.1s forwards}.portal-boot-text .l3{animation:portal-line-flash .65s ease 1.7s forwards}@keyframes portal-line-flash{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}.portal-boot-stamp{position:fixed;bottom:36px;left:0;right:0;text-align:center;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.32em;color:var(--p-text-soft);text-transform:uppercase;opacity:0;animation:portal-boot-stamp-in .6s ease .3s forwards}@keyframes portal-boot-stamp-in{to{opacity:1}}@keyframes portal-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.portal-shell{position:relative;z-index:10;max-width:1400px;margin:0 auto;padding:32px 32px 80px}.portal-shell>*{opacity:0;animation:portal-fade-in .7s ease forwards}.portal-header{animation-delay:2.55s}.portal-stat-bar{animation-delay:2.7s}.portal-section{animation-delay:2.85s}.portal-grid{animation-delay:2.95s}.portal-footer{animation-delay:3.4s}@keyframes portal-fade-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.portal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 0 28px;border-bottom:1px solid var(--p-border);margin-bottom:36px}.portal-brand{display:flex;align-items:center;gap:18px}.portal-brand-logo{width:56px;height:56px;flex-shrink:0}.portal-brand-logo svg{width:100%;height:100%;display:block}.portal-brand-logo .ring-outer,.portal-brand-logo .ring-inner{transform-origin:center;animation:portal-rotate 20s linear infinite}.portal-brand-logo .ring-inner{animation-duration:12s;animation-direction:reverse}.portal-brand-text h1{font-family:Fraunces,serif;font-size:28px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px}.portal-brand-text .sep{color:var(--p-amber);margin:0 6px;text-shadow:0 0 8px var(--p-amber-glow)}.portal-brand-text .sub{font-family:DM Mono,monospace;font-size:12px;color:var(--p-text-mute);letter-spacing:.2em;text-transform:uppercase}.portal-user{display:flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;background:var(--p-bg-elev);border:1px solid var(--p-border);border-radius:999px}.portal-user-avatar{width:34px;height:34px;border-radius:50%;background:var(--p-bg);border:1px solid var(--p-amber);display:flex;align-items:center;justify-content:center;font-family:DM Mono,monospace;font-size:13px;font-weight:500;color:var(--p-amber);box-shadow:0 0 12px var(--p-amber-glow),inset 0 0 8px #e8b86f1a}.portal-user-name{font-size:14px;font-weight:600;color:var(--p-text);line-height:1.2}.portal-user-role{font-family:DM Mono,monospace;font-size:10px;color:var(--p-amber);letter-spacing:.12em;text-transform:uppercase;line-height:1.2;margin-top:2px}.portal-stat-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:40px}.portal-stat{background:var(--p-bg-elev);border:1px solid var(--p-border);border-radius:4px;padding:18px 22px;position:relative;overflow:hidden}.portal-stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--p-amber);box-shadow:0 0 12px var(--p-amber-glow)}.portal-stat-num{font-family:Fraunces,serif;font-size:38px;font-weight:600;color:var(--p-text);line-height:1;letter-spacing:-.01em}.portal-stat-label{font-family:DM Mono,monospace;font-size:11px;color:var(--p-text-mute);letter-spacing:.18em;text-transform:uppercase;margin-top:6px}.portal-section{display:flex;align-items:baseline;gap:14px;margin-bottom:20px}.portal-section h2{font-family:Fraunces,serif;font-weight:600;font-size:22px;letter-spacing:.04em;text-transform:uppercase;margin:0}.portal-section .line{flex:1;height:1px;background:linear-gradient(90deg,var(--p-border),transparent)}.portal-section .count{font-family:DM Mono,monospace;font-size:12px;color:var(--p-amber);letter-spacing:.12em}.portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}.region-card{background:var(--p-bg-elev);border:1px solid var(--p-border);border-radius:6px;padding:22px 24px 16px;position:relative;transition:all .25s ease}.region-card:hover{border-color:var(--p-amber);transform:translateY(-2px);box-shadow:0 8px 30px #0009,0 0 30px #e8b86f1f}.region-card .corner{position:absolute;width:14px;height:14px;border-color:var(--p-amber);transition:all .25s ease;opacity:.55}.region-card .corner.tl{top:-1px;left:-1px;border-top:1px solid;border-left:1px solid}.region-card .corner.tr{top:-1px;right:-1px;border-top:1px solid;border-right:1px solid}.region-card .corner.bl{bottom:-1px;left:-1px;border-bottom:1px solid;border-left:1px solid}.region-card .corner.br{bottom:-1px;right:-1px;border-bottom:1px solid;border-right:1px solid}.region-card:hover .corner{width:22px;height:22px;opacity:1;box-shadow:0 0 8px var(--p-amber-glow)}.region-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.region-code{font-family:Fraunces,serif;font-size:36px;font-weight:700;color:var(--p-text);letter-spacing:.04em;line-height:1;transition:all .25s ease}.region-card:hover .region-code{color:var(--p-amber);text-shadow:0 0 16px var(--p-amber-glow)}.master-badge{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.18em;color:var(--p-amber);padding:3px 8px;border:1px solid var(--p-amber);border-radius:3px;background:var(--p-amber-soft)}.region-name{font-family:DM Mono,monospace;font-size:11px;color:var(--p-text-mute);letter-spacing:.22em;text-transform:uppercase;margin-top:8px;margin-bottom:18px}.region-divider{height:1px;background:var(--p-border);margin-bottom:14px;position:relative;overflow:hidden}.region-divider:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,var(--p-amber),transparent);transform:translate(-100%);transition:transform .7s ease}.region-card:hover .region-divider:after{transform:translate(100%)}.opsboard-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.opsboard-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--p-surface);border:1px solid transparent;border-radius:4px;text-decoration:none;color:inherit;cursor:pointer;transition:all .18s ease;position:relative}.opsboard-row:hover{border-color:var(--p-amber);background:#e8b86f0a}.opsboard-row.disabled{opacity:.5;cursor:default}.opsboard-row.disabled:hover{border-color:transparent;background:var(--p-surface)}.opsboard-dot{width:8px;height:8px;border-radius:50%;background:var(--p-amber);box-shadow:0 0 8px var(--p-amber-glow);flex-shrink:0;animation:portal-dot-pulse 2.4s ease-in-out infinite}.opsboard-row.disabled .opsboard-dot{animation:none;background:var(--p-text-soft);box-shadow:none}@keyframes portal-dot-pulse{0%,to{box-shadow:0 0 8px var(--p-amber-glow);opacity:1}50%{box-shadow:0 0 16px var(--p-amber),0 0 4px var(--p-amber);opacity:.85}}.opsboard-info{flex:1;min-width:0}.opsboard-name{font-size:15px;font-weight:600;color:var(--p-text);line-height:1.2}.opsboard-slug{font-family:DM Mono,monospace;font-size:11px;color:var(--p-text-mute);margin-top:3px;letter-spacing:.05em}.opsboard-meta{text-align:right;flex-shrink:0}.opsboard-count{font-family:Fraunces,serif;font-size:22px;font-weight:600;color:var(--p-amber);line-height:1}.opsboard-count-label{font-family:DM Mono,monospace;font-size:9px;color:var(--p-text-mute);letter-spacing:.2em;margin-top:3px}.opsboard-disabled-tag{font-family:DM Mono,monospace;font-size:9px;color:var(--p-danger);letter-spacing:.18em;text-transform:uppercase}.opsboard-request-tag,.opsboard-pending-tag{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--p-amber)}.opsboard-pending-tag{color:var(--p-text-mute)}.opsboard-row.user-board{border-color:var(--p-amber);background:#e8b86f0f;animation:portal-home-pulse 2.4s ease-in-out infinite}.opsboard-row.user-board .opsboard-dot{width:10px;height:10px;animation:portal-home-dot-pulse 1.6s ease-in-out infinite}.opsboard-row.user-board .opsboard-name:after{content:" ← YOU";font-family:DM Mono,monospace;font-size:10px;color:var(--p-amber);letter-spacing:.18em;margin-left:6px;vertical-align:middle}.opsboard-row.user-board .opsboard-count{color:var(--p-amber)}.opsboard-row.requestable{border-color:transparent;background:var(--p-surface)}.opsboard-row.requestable:hover{border-color:var(--p-amber);background:#e8b86f0a}.opsboard-row.requestable .opsboard-dot{background:var(--p-text-mute);box-shadow:none;animation:none}.opsboard-row.requestable:hover .opsboard-dot{background:var(--p-amber);box-shadow:0 0 8px var(--p-amber-glow)}.opsboard-reenable-btn{background:transparent;border:1px solid var(--p-amber);color:var(--p-amber);padding:4px 10px;border-radius:4px;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .15s ease}.opsboard-reenable-btn:hover{background:var(--p-amber-soft);box-shadow:0 0 8px var(--p-amber-glow)}.portal-add-card{background:transparent;border:1px dashed var(--p-border);border-radius:6px;padding:22px 24px;font-family:DM Mono,monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--p-text-mute);cursor:pointer;transition:all .22s ease;display:flex;align-items:center;justify-content:center;min-height:100px}.portal-add-card:hover{border-color:var(--p-amber);color:var(--p-amber);background:#e8b86f0a;box-shadow:inset 0 0 12px #e8b86f0f}.region-add-opsboard-btn{display:block;width:100%;background:transparent;border:1px dashed var(--p-border);color:var(--p-text-mute);font-family:DM Mono,monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:12px;border-radius:4px;cursor:pointer;margin-top:8px;transition:all .22s ease}.region-add-opsboard-btn:hover{border-color:var(--p-amber);color:var(--p-amber);background:#e8b86f0a;box-shadow:inset 0 0 12px #e8b86f0f}.portal-root[data-role=tech] .region-add-opsboard-btn,.portal-root[data-role=admin] .region-add-opsboard-btn,.portal-root[data-role=super_ro] .region-add-opsboard-btn{display:none}.portal-footer{margin-top:64px;padding-top:20px;border-top:1px solid var(--p-border);display:flex;justify-content:space-between;align-items:center;font-family:DM Mono,monospace;font-size:11px;color:var(--p-text-soft);letter-spacing:.18em;text-transform:uppercase}.portal-footer .status{display:flex;align-items:center;gap:6px;color:var(--p-amber)}.portal-footer .status:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--p-amber);box-shadow:0 0 6px var(--p-amber-glow);animation:portal-dot-pulse 2.4s ease-in-out infinite}.portal-root[data-role=tech] .opsboard-row:not(.user-board),.portal-root[data-role=admin] .opsboard-row:not(.user-board){filter:blur(2.5px) saturate(.6);opacity:.32;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}.portal-root[data-role=tech] .opsboard-row:not(.user-board) .opsboard-dot,.portal-root[data-role=admin] .opsboard-row:not(.user-board) .opsboard-dot{animation:none;opacity:.4}.portal-root[data-role=tech] .opsboard-row.user-board,.portal-root[data-role=admin] .opsboard-row.user-board{border-color:var(--p-amber);background:#e8b86f0f;animation:portal-home-pulse 2.4s ease-in-out infinite}.portal-root[data-role=tech] .opsboard-row.user-board .opsboard-dot,.portal-root[data-role=admin] .opsboard-row.user-board .opsboard-dot{width:10px;height:10px;animation:portal-home-dot-pulse 1.6s ease-in-out infinite}.portal-root[data-role=tech] .opsboard-row.user-board .opsboard-name:after,.portal-root[data-role=admin] .opsboard-row.user-board .opsboard-name:after{content:" ← YOU";font-family:DM Mono,monospace;font-size:10px;color:var(--p-amber);letter-spacing:.18em;margin-left:6px;vertical-align:middle}.portal-root[data-role=tech] .opsboard-row.user-board .opsboard-count,.portal-root[data-role=admin] .opsboard-row.user-board .opsboard-count{color:var(--p-amber)}@keyframes portal-home-pulse{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 24px #e8b86f40,inset 0 0 14px #e8b86f0d}}@keyframes portal-home-dot-pulse{0%,to{box-shadow:0 0 10px var(--p-amber-glow);transform:scale(1)}50%{box-shadow:0 0 22px var(--p-amber),0 0 8px var(--p-amber);transform:scale(1.15)}}.portal-root[data-role=tech] .region-card:not(.has-home),.portal-root[data-role=admin] .region-card:not(.has-home){opacity:.78}.portal-root[data-role=tech] .region-card.has-home,.portal-root[data-role=admin] .region-card.has-home{border-color:var(--p-amber)}.portal-root[data-role=tech] .region-card.has-home .region-code,.portal-root[data-role=admin] .region-card.has-home .region-code{color:var(--p-amber);text-shadow:0 0 16px var(--p-amber-glow)}.portal-root[data-role=tech] .master-badge,.portal-root[data-role=admin] .master-badge{opacity:.35}.portal-root[data-role=super_ro] .portal-add-card{display:none}@media (max-width: 720px){.portal-shell{padding:18px 16px 60px}.portal-header{flex-direction:column;align-items:flex-start;gap:16px}.portal-stat-bar{grid-template-columns:repeat(2,1fr)}.portal-brand-text h1{font-size:22px}.region-code{font-size:30px}}[data-theme=sage]{--bg: #F5F3EE;--bg-elev: #FFFFFF;--surface: #FBFAF6;--border: #E5E1D8;--border-strong:#D4CEC0;--text: #2C3539;--text-muted: #6B7378;--text-soft: #95938C;--accent: #7A9B76;--accent-soft: #E4ECDF;--info: #6B8CAE;--info-soft: #DDE6EF;--warn: #C9A875;--warn-soft: #F1E7D2;--danger: #C97B5B;--danger-soft: #F2DDD0;--plum: #9B7B9E;--plum-soft: #E8DEEA;--task-staticip: var(--danger);--task-staticip-bg: var(--danger-soft);--task-techlive: var(--info);--task-techlive-bg: var(--info-soft);--task-rrc: var(--plum);--task-rrc-bg: var(--plum-soft);--task-relay: var(--warn);--task-relay-bg: var(--warn-soft);--shadow-sm: 0 1px 2px rgba(44, 53, 57, .04);--shadow: 0 2px 8px rgba(44, 53, 57, .06), 0 1px 2px rgba(44, 53, 57, .04);--shadow-lg: 0 8px 24px rgba(44, 53, 57, .08)}[data-theme=midnight]{--bg: #0A0A0A;--bg-elev: #161616;--surface: #1F1F1F;--border: #2A2A2A;--border-strong:#404040;--text: #F5F0E6;--text-muted: #999999;--text-soft: #555555;--accent: #E8B86F;--accent-soft: rgba(232, 184, 111, .18);--info: #C9A87C;--info-soft: rgba(201, 168, 124, .18);--warn: #F2C572;--warn-soft: rgba(242, 197, 114, .18);--danger: #E89B7B;--danger-soft: rgba(232, 155, 123, .18);--plum: #C7A0D4;--plum-soft: rgba(199, 160, 212, .18);--task-staticip: var(--danger);--task-staticip-bg: var(--danger-soft);--task-techlive: var(--info);--task-techlive-bg: var(--info-soft);--task-rrc: var(--plum);--task-rrc-bg: var(--plum-soft);--task-relay: var(--warn);--task-relay-bg: var(--warn-soft);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .6)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease}.mono{font-family:DM Mono,ui-monospace,monospace}.serif{font-family:Fraunces,Georgia,serif}.app{max-width:1500px;margin:0 auto;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);margin-bottom:20px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--info));display:flex;align-items:center;justify-content:center;color:#fff;font-family:Fraunces,serif;font-weight:700;font-size:21px;box-shadow:var(--shadow-sm)}.brand-logo{width:40px;height:40px;-o-object-fit:contain;object-fit:contain;display:block;flex-shrink:0}.brand-name{font-family:Fraunces,serif;font-size:23px;font-weight:600;letter-spacing:-.01em}.brand-tag{font-size:14px;color:var(--text-muted);font-family:DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.theme-switch{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px;gap:2px}.theme-switch button{background:transparent;border:none;padding:8px 14px;font-family:DM Mono,monospace;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);cursor:pointer;border-radius:999px;transition:all .15s ease}.theme-switch button.active{background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow-sm)}.tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:6px;box-shadow:var(--shadow-sm)}.tab{flex:1;background:transparent;border:none;padding:10px 14px;font-family:Inter,sans-serif;font-size:16px;font-weight:500;color:var(--text-muted);cursor:pointer;border-radius:8px;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:8px}.tab:hover{color:var(--text)}.tab.active{background:var(--accent-soft);color:var(--accent);font-weight:600}[data-theme=midnight] .tab.active{color:var(--text)}.tab .count{font-family:DM Mono,monospace;font-size:13px;background:var(--bg);padding:2px 6px;border-radius:999px}.view{display:none}.view.active{display:block}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.section-title{font-family:Fraunces,serif;font-size:25px;font-weight:600;letter-spacing:-.01em}.section-sub{font-size:15px;color:var(--text-muted);font-family:DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width: 1024px){.board-grid{grid-template-columns:repeat(2,1fr)}}.location-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:var(--shadow-sm);transition:all .2s ease}.location-card:hover{box-shadow:var(--shadow);transform:translateY(-1px);border-color:var(--border-strong)}.loc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.loc-name{font-family:Fraunces,serif;font-size:20px;font-weight:600;cursor:pointer}.loc-meta{display:flex;align-items:center;gap:6px;font-family:DM Mono,monospace;font-size:13px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.loc-dot{width:8px;height:8px;border-radius:999px;background:var(--accent)}.loc-dot.warn{background:var(--warn)}.loc-dot.danger{background:var(--danger)}.task-list{display:flex;flex-direction:column;gap:6px}.task{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:var(--surface);font-size:16px;cursor:pointer;transition:all .12s ease;position:relative}.task:hover{background:var(--accent-soft)}.task .pip{width:6px;height:26px;border-radius:4px;flex-shrink:0}.task.staticip .pip{background:var(--task-staticip)}.task.techlive .pip{background:var(--task-techlive)}.task.rrc .pip{background:var(--task-rrc)}.task.relay .pip{background:var(--task-relay)}.task-label{flex:1;font-weight:500;min-width:0}.swimlane .task{flex-wrap:wrap;row-gap:4px}.swimlane .task .task-label{flex:1 1 100%;word-break:break-word}.task-assignee{font-family:DM Mono,monospace;font-size:13px;background:var(--bg);border:1px solid var(--border);padding:2px 6px;border-radius:999px;color:var(--text-muted)}.task-status{font-size:13px;font-family:DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px}.status-pending{background:var(--surface);color:var(--text-muted)}.status-active{background:var(--warn-soft);color:var(--warn)}.status-done{background:var(--accent-soft);color:var(--accent)}[data-theme=midnight] .status-active{color:var(--warn)}[data-theme=midnight] .status-done{color:var(--accent)}.task .del{opacity:0;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:0 4px;font-size:19px;line-height:1;transition:opacity .12s ease,color .12s ease}.task:hover .del{opacity:1}.task .del:hover{color:var(--danger)}.focus-bar{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;font-size:16px;flex-wrap:wrap}.focus-bar label{font-family:DM Mono,monospace;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.focus-select{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:8px;font-family:Inter,sans-serif;font-size:16px;font-weight:500;cursor:pointer;min-width:220px;outline:none;transition:all .12s ease}.focus-select:hover{border-color:var(--border-strong)}.focus-select:focus{border-color:var(--accent)}.focus-clear{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:8px 12px;border-radius:8px;font-family:DM Mono,monospace;font-size:14px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;display:none;transition:all .12s ease}.focus-clear:hover{color:var(--text);border-color:var(--border-strong)}body.focused .focus-clear{display:inline-flex}.focus-spacer{flex:1}.focus-chips{display:flex;gap:10px;flex-wrap:wrap}.focus-chip{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--text-muted);font-family:DM Mono,monospace}.focus-chip-pip{width:8px;height:8px;border-radius:2px}.status-filter{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px;gap:2px}.status-filter .sf{background:transparent;border:none;padding:6px 12px;font-family:Inter,sans-serif;font-size:15px;font-weight:500;color:var(--text-muted);cursor:pointer;border-radius:999px;display:inline-flex;align-items:center;gap:6px;transition:all .12s ease}.status-filter .sf:hover{color:var(--text)}.status-filter .sf.active{background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow-sm)}.status-filter .sf-n{font-family:DM Mono,monospace;font-size:13px;background:var(--bg);padding:1px 6px;border-radius:999px;color:var(--text-muted)}body.filter-status-pending .task:not(.has-pending){display:none}body.filter-status-active .task:not(.has-active){display:none}body.filter-status-done .task:not(.has-done){display:none}.add-task{display:flex;align-items:center;gap:8px;width:100%;margin-top:8px;padding:8px 10px;background:transparent;border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-muted);font-family:Inter,sans-serif;font-size:15px;font-weight:500;cursor:pointer;transition:all .12s ease}.add-task:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}[data-theme=midnight] .add-task:hover{color:var(--text)}.add-task .plus{font-size:17px;line-height:1}.task-form{display:none;margin-top:8px;padding:10px;background:var(--surface);border:1px solid var(--accent);border-radius:8px;flex-direction:column;gap:8px}.task-form.open{display:flex}.task-form input,.task-form select{width:100%;background:var(--bg-elev);border:1px solid var(--border);color:var(--text);padding:7px 9px;border-radius:6px;font-family:Inter,sans-serif;font-size:15px;outline:none}.task-form input:focus,.task-form select:focus{border-color:var(--accent)}.task-form .row{display:flex;gap:6px}.task-form .row>*{flex:1}.task-form .actions{display:flex;gap:6px;justify-content:flex-end}.task-form button{padding:6px 12px;border-radius:6px;font-family:DM Mono,monospace;font-size:13px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:1px solid var(--border);background:var(--bg-elev);color:var(--text)}.task-form button.primary{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=midnight] .task-form button.primary{color:var(--bg)}body.focused .location-card{display:none}body.focused .location-card.is-focused{display:block;grid-column:1 / -1;padding:28px}body.focused .location-card.is-focused .loc-name{font-size:29px}body.focused .location-card.is-focused .task{padding:12px 14px;font-size:17px}body.focused .location-card.is-focused .task .pip{height:32px}body.focused .location-card.is-focused .focus-extra{display:block}.focus-extra{margin-top:18px;padding-top:16px;border-top:1px solid var(--border);display:none;grid-template-columns:1fr 1fr;gap:16px}body.focused .location-card.is-focused .focus-extra{display:grid}.focus-extra h5{margin:0 0 8px;font-family:DM Mono,monospace;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.focus-extra p{margin:0;font-size:16px;color:var(--text);line-height:1.55}.focus-activity{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.focus-activity li{font-size:15px;color:var(--text-muted);display:flex;gap:8px}.focus-activity li b{font-family:DM Mono,monospace;font-weight:500;color:var(--text);min-width:48px}@media (max-width: 720px){.app{padding:12px}.topbar{flex-wrap:wrap;gap:12px;padding:12px 14px}.topbar .brand-tag{font-size:11px}.theme-switch button{padding:6px 10px;font-size:11px}.user-chip .avatar{width:26px;height:26px;font-size:11px}.logout-btn{font-size:10px;padding:4px 8px 4px 2px}.board-grid{grid-template-columns:1fr}body.focused .location-card.is-focused{padding:18px}.focus-extra{grid-template-columns:1fr!important}.focus-select{min-width:0;flex:1}.focus-bar,.status-filter{flex-wrap:wrap}.admin-grid{grid-template-columns:1fr}.admin-card-wide{grid-column:auto}.notes-shell{grid-template-columns:1fr;gap:12px}.notes-side{max-height:none;padding:8px;display:flex;flex-wrap:wrap;gap:6px}.notes-side h4{width:100%;margin:4px 6px 6px}.notes-side .note-loc{width:auto;flex:0 0 auto;padding:6px 12px;font-size:13px;white-space:nowrap}.notes-main{padding:16px}.notes-title{font-size:21px}.cal-controls{flex-wrap:wrap;gap:6px}.cal-view-toggle button{padding:6px 10px;font-size:13px}.tab{padding:8px 6px;font-size:14px;gap:4px}}.calendar{background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:var(--shadow-sm)}.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.cal-month{font-family:Fraunces,serif;font-size:25px;font-weight:600}.cal-nav{display:flex;gap:6px}.cal-nav button{background:var(--surface);border:1px solid var(--border);color:var(--text);width:32px;height:32px;border-radius:8px;cursor:pointer;font-family:DM Mono,monospace}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-dow{font-family:DM Mono,monospace;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);text-align:center;padding:8px 0}.cal-day{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-height:92px;padding:8px;font-family:DM Mono,monospace;font-size:15px;color:var(--text-muted);position:relative;cursor:pointer;transition:all .12s ease;min-width:0;overflow:hidden}.cal-day:hover{border-color:var(--border-strong)}.cal-day.empty{background:transparent;border-color:transparent}.cal-day.today{border-color:var(--accent);background:var(--accent-soft)}.cal-day .num{font-weight:500;color:var(--text)}.cal-day.today .num{color:var(--accent);font-weight:600}.cal-event{margin-top:6px;padding:3px 6px;border-radius:4px;font-size:13px;font-family:Inter,sans-serif;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event.staticip{background:var(--task-staticip-bg);color:var(--task-staticip)}.cal-event.techlive{background:var(--task-techlive-bg);color:var(--task-techlive)}.cal-event.rrc{background:var(--task-rrc-bg);color:var(--task-rrc)}.cal-event.relay{background:var(--task-relay-bg);color:var(--task-relay)}.notes-shell{display:grid;grid-template-columns:220px 1fr;gap:16px}.notes-side{background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:12px;box-shadow:var(--shadow-sm);height:-moz-fit-content;height:fit-content}.notes-side h4{margin:4px 8px 10px;font-family:DM Mono,monospace;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.note-loc{display:block;width:100%;text-align:left;background:transparent;border:none;padding:8px 10px;border-radius:8px;cursor:pointer;font-family:Inter,sans-serif;font-size:16px;color:var(--text);transition:all .12s ease}.note-loc:hover{background:var(--surface)}.note-loc.active{background:var(--accent-soft);color:var(--accent);font-weight:500}[data-theme=midnight] .note-loc.active{color:var(--text)}.notes-main{background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:var(--shadow-sm);min-height:480px}.notes-title{font-family:Fraunces,serif;font-size:27px;font-weight:600;margin:0 0 4px}.notes-meta{font-family:DM Mono,monospace;font-size:14px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}.note-pad{width:100%;min-height:360px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;font-family:Inter,sans-serif;font-size:17px;color:var(--text);resize:vertical;outline:none;line-height:1.6}.note-pad:focus{border-color:var(--accent)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:var(--shadow-sm)}.admin-card h3{margin:0 0 4px;font-family:Fraunces,serif;font-size:20px;font-weight:600;display:flex;align-items:center;gap:10px}.admin-card .sub{font-family:DM Mono,monospace;font-size:13px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}.admin-icon{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:17px;background:var(--accent-soft);color:var(--accent)}[data-theme=midnight] .admin-icon{color:var(--accent)}.req-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);font-size:16px}.req-row:last-child{border-bottom:none}.req-name{flex:1;font-weight:500}.req-item{color:var(--text-muted);font-size:15px}.req-state{font-family:DM Mono,monospace;font-size:13px;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:999px}.req-state.req{background:var(--warn-soft);color:var(--warn)}.req-state.appr{background:var(--info-soft);color:var(--info)}.req-state.rcvd{background:var(--accent-soft);color:var(--accent)}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.team-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-family:DM Mono,monospace;font-weight:600;font-size:15px;color:#fff}.av-1{background:var(--accent)}.av-2{background:var(--info)}.av-3{background:var(--danger)}.av-4{background:var(--warn);color:var(--text)}.team-name{font-weight:600;font-size:16px}.team-role{font-size:14px;color:var(--text-muted);font-family:DM Mono,monospace}.footer{margin-top:24px;padding:16px;text-align:center;font-family:DM Mono,monospace;font-size:14px;color:var(--text-soft);letter-spacing:.04em}.auth-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:var(--bg)}.auth-card{width:100%;max-width:420px;background:var(--bg-elev);border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:var(--shadow-lg)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.auth-title{font-family:Fraunces,serif;font-size:27px;font-weight:600;letter-spacing:-.01em;margin:0 0 8px}.auth-sub{color:var(--text-muted);font-size:16px;margin:0 0 24px;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field>span{font-family:DM Mono,monospace;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.auth-field input{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:8px;font-family:Inter,sans-serif;font-size:17px;outline:none;transition:border-color .12s ease}.auth-field input:focus{border-color:var(--accent)}.auth-field small{color:var(--text-soft);font-size:14px}.auth-error{background:var(--danger-soft);color:var(--danger);padding:10px 12px;border-radius:8px;font-size:16px;font-weight:500}.auth-submit{margin-top:4px;background:var(--accent);border:none;color:#fff;padding:12px 16px;border-radius:8px;font-family:Inter,sans-serif;font-size:17px;font-weight:600;cursor:pointer;transition:opacity .12s ease}[data-theme=midnight] .auth-submit{color:var(--bg)}.auth-submit:hover:not(:disabled){opacity:.92}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.auth-foot{margin-top:20px;text-align:center;font-size:16px;color:var(--text-muted)}.auth-foot a{color:var(--accent);text-decoration:none;font-weight:500}[data-theme=midnight] .auth-foot a{color:var(--accent)}.auth-foot a:hover{text-decoration:underline}.user-chip{display:inline-flex;align-items:center;gap:8px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:999px}.user-chip .avatar{width:28px;height:28px;font-size:14px}.logout-btn{background:transparent;border:none;padding:6px 12px 6px 4px;font-family:DM Mono,monospace;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);cursor:pointer;border-radius:999px;transition:color .12s ease}.logout-btn:hover{color:var(--danger)}.btn-primary-sm,.btn-danger-sm{padding:6px 12px;border-radius:6px;border:none;font-family:Inter,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .12s ease}.btn-primary-sm{background:var(--accent);color:#fff}[data-theme=midnight] .btn-primary-sm{color:var(--bg)}.btn-danger-sm{background:var(--danger);color:#fff}[data-theme=midnight] .btn-danger-sm{color:var(--bg)}.btn-primary-sm:hover:not(:disabled),.btn-danger-sm:hover:not(:disabled){opacity:.9}.btn-primary-sm:disabled,.btn-danger-sm:disabled{opacity:.5;cursor:not-allowed}.role-select{padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:15px;cursor:pointer;outline:none}.role-select:disabled{opacity:.5;cursor:not-allowed}.admin-card-wide{grid-column:1 / -1}.mini-head{font-size:13px;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.08em;font-family:DM Mono,monospace}.add-row{display:flex;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.add-row input{flex:1;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:16px;font-family:Inter,sans-serif;outline:none}.add-row input:focus{border-color:var(--accent)}.changelog{max-height:360px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:4px}.changelog::-webkit-scrollbar{width:8px}.changelog::-webkit-scrollbar-track{background:transparent}.changelog::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.changelog-row{display:grid;grid-template-columns:145px 130px 1fr;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border);font-size:14px;align-items:baseline}.changelog-row:last-child{border-bottom:none}.changelog-when{font-family:DM Mono,monospace;font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.changelog-who{font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.changelog-what{color:var(--text-muted);line-height:1.4}.changelog-what strong{color:var(--text);font-weight:600}.changelog-loc{color:var(--text-soft);font-size:13px}.changelog-action{display:inline-block;font-family:DM Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:999px;background:var(--surface);color:var(--text-muted);margin-right:4px}.act-created{background:var(--accent-soft);color:var(--accent)}.act-status_changed{background:var(--info-soft);color:var(--info)}.act-assigned{background:var(--warn-soft);color:var(--warn)}.act-deleted{background:var(--danger-soft);color:var(--danger)}.act-updated{background:var(--info-soft);color:var(--info)}.act-equipment_created{background:var(--accent-soft);color:var(--accent)}.act-equipment_updated,.act-equipment_status_changed{background:var(--info-soft);color:var(--info)}.act-equipment_deleted{background:var(--danger-soft);color:var(--danger)}.changelog-type{display:inline-block;font-family:DM Mono,monospace;font-size:10px;font-weight:600;letter-spacing:.1em;padding:2px 8px;border-radius:4px;margin-right:6px;border:1px solid var(--border)}.type-task{color:var(--text);background:var(--surface)}.type-equipment{color:var(--accent);background:var(--accent-soft);border-color:transparent}@media (max-width: 720px){.changelog-row{grid-template-columns:80px 1fr}.changelog-row .changelog-who{grid-column:2}.changelog-row .changelog-what{grid-column:1 / -1}}.cal-controls{display:flex;gap:8px;align-items:center}.cal-view-toggle{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px;gap:2px}.cal-view-toggle button{background:transparent;border:none;padding:6px 14px;font-family:Inter,sans-serif;font-size:14px;color:var(--text-muted);cursor:pointer;border-radius:999px;transition:all .12s ease}.cal-view-toggle button:hover{color:var(--text)}.cal-view-toggle button.active{background:var(--bg-elev);color:var(--text);font-weight:600}.cal-day-num{font-weight:500;font-size:14px;color:var(--text)}.cal-day-out{opacity:.4}.cal-day-out .cal-day-num{color:var(--text-soft)}.cal-day-today{border-color:var(--accent)!important;background:var(--accent-soft)!important;box-shadow:0 0 0 2px var(--accent-soft)}.cal-day-today .cal-day-num{color:var(--accent);font-weight:700}.cal-event{background:var(--accent-soft);color:var(--accent)}.cal-more{margin-top:4px;font-size:11px;color:var(--text-muted);font-family:DM Mono,monospace}.cal-day-week{min-height:220px}.cal-day-view{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:0;margin-top:4px}.cal-day-view-header{padding:16px 20px;border-bottom:1px solid var(--border);font-family:Fraunces,serif;font-size:19px;font-weight:600;display:flex;align-items:center}.cal-day-item{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:14px 20px;border-bottom:1px solid var(--border)}.cal-day-item:last-child{border-bottom:none}.cal-day-time{font-family:DM Mono,monospace;font-size:14px;color:var(--accent);font-weight:600}.cal-day-title{font-weight:600;font-size:15px}.cal-day-loc{font-size:13px;color:var(--text-muted);margin-top:2px}.task-cal-icon{font-size:12px;margin-right:4px;opacity:.85}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal{width:100%;max-width:480px;background:var(--bg-elev);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden}.modal-head{padding:20px 24px 12px;border-bottom:1px solid var(--border)}.modal-head h3{margin:0;font-family:Fraunces,serif;font-size:21px;font-weight:600}.modal-sub{margin-top:4px;font-family:DM Mono,monospace;font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.modal-body{padding:16px 24px;display:flex;flex-direction:column;gap:14px}.modal-body .auth-field input,.modal-body .auth-field select{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:8px;font-family:Inter,sans-serif;font-size:15px;outline:none}.modal-body .auth-field input:focus,.modal-body .auth-field select:focus{border-color:var(--accent)}.modal-foot{padding:12px 24px 20px;display:flex;gap:8px;justify-content:flex-end}.equip-notify-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);transition:all .12s ease;white-space:nowrap}.equip-notify-toggle:hover{border-color:var(--border-strong);color:var(--text)}.equip-notify-toggle input[type=checkbox]{accent-color:var(--accent);cursor:pointer;margin:0}.equip-notify-toggle input[type=checkbox]:disabled{cursor:not-allowed}.equip-notify-toggle:has(input:checked){background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.task-expanded{flex-direction:column!important;align-items:stretch!important;background:var(--bg-elev)!important;border:1px solid var(--accent)!important;padding:10px 12px!important;gap:0!important}.task-expanded:hover{background:var(--bg-elev)!important}.task-expanded-head{display:flex;align-items:center;gap:10px;width:100%}.task-expanded-actions{display:flex;align-items:center;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--border);flex-wrap:wrap}.ta-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:6px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:all .12s ease}.ta-btn:hover{border-color:var(--accent);color:var(--accent)}.ta-btn-danger:hover{border-color:var(--danger);color:var(--danger)}.ta-input{flex:1;min-width:200px;background:var(--surface);border:1px solid var(--accent);color:var(--text);padding:7px 10px;border-radius:6px;font-family:Inter,sans-serif;font-size:14px;outline:none}.ta-select{background:var(--surface);border:1px solid var(--accent);color:var(--text);padding:6px 10px;border-radius:6px;font-family:Inter,sans-serif;font-size:14px;cursor:pointer;outline:none}.ta-status-active{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:var(--accent)!important}.task-loc-tag{color:var(--text-muted);font-weight:400;font-size:13px;margin-left:4px}.sf-mine{background:var(--accent-soft)!important;color:var(--accent)!important;font-weight:600}.sf-mine:hover{opacity:.92}.sf-mine .sf-n{background:var(--accent);color:var(--bg)}.modal-mine{max-width:640px;max-height:80vh;display:flex;flex-direction:column}.modal-mine-body{overflow-y:auto;flex:1}.mine-group+.mine-group{margin-top:14px}.mine-group .mini-head{margin-bottom:6px}.modal-mine-body .task-list{display:flex;flex-direction:column;gap:6px}.sf-done{border:1px solid var(--border)!important;color:var(--text-muted)}.sf-done:hover{color:var(--text);border-color:var(--border-strong)!important}.sf-done .sf-n{background:var(--bg)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.break-all{word-break:break-all}.border{border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}
