:root{--navy:#0b2545;--navy2:#13315c;--accent:#0e7c9a;--accent-ink:#0a5f76;--accent-soft:#e3f2f6;--amber:var(--accent);--ink:#1b2a38;--mut:#5b6b7f;--line:#e3eaf1;--bg:#f4f6f9;--card:#fff;--text-sm:13px;--text-base:15px;--text-lg:17px;--space-xs:6px;--space-sm:10px;--space-md:14px;--space-lg:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Noto Sans Hebrew,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);min-height:100vh}button,.btn{transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s,opacity .18s}@media (prefers-reduced-motion:reduce){button,.btn{transition:none}}.ct-loading{text-align:center;min-height:100vh;color:var(--mut);font-size:var(--text-base);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:40px;display:flex}.ct-wait-overlay{z-index:85;background:#f4f6f9e0;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ct-wait-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;width:100%;max-width:380px;padding:28px 32px;box-shadow:0 12px 40px #0b25451f}.ct-wait-card b{color:var(--navy);margin-bottom:8px;font-size:16px;font-weight:700;display:block}.ct-wait-card p{color:var(--mut);margin:0;font-size:14px;line-height:1.55}.ct-spinner{border:3px solid #e6ecf3;border-top-color:var(--navy);border-radius:50%;width:40px;height:40px;margin:0 auto 18px;animation:.8s linear infinite ct-spin}@keyframes ct-spin{to{transform:rotate(360deg)}}.ct-root{background:var(--bg);color:var(--ink);flex-direction:column;min-height:100vh;font-family:inherit;display:flex}.ct-top{z-index:50;background:var(--navy);color:#fff;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:0 16px;display:flex;position:sticky;top:0}.ct-menu-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;margin-inline-start:auto;padding:0;font-size:18px;display:none}.ct-menu-backdrop,.ct-mobile-panel{display:none}.ct-mobile-overlay{z-index:65;flex-direction:column;display:flex;position:fixed;inset:60px 0 0}.ct-mobile-sheet{width:100%;padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px));background:#fff;flex-direction:column;flex:1;animation:.18s ct-sheet-in;display:flex}@keyframes ct-sheet-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ct-mobile-nav{flex-direction:column;flex:1;gap:12px;padding:4px 0;display:flex}.ct-mobile-nav-item{border:2px solid var(--line);background:var(--bg);cursor:pointer;text-align:right;border-radius:14px;align-items:center;gap:14px;width:100%;padding:18px 16px;font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.ct-mobile-nav-item:hover{background:#fff;border-color:#b8c5d4}.ct-mobile-nav-item.on{border-color:var(--navy);background:#fff;box-shadow:0 4px 14px #0b254514}.ct-mobile-nav-icon{width:48px;height:48px;color:var(--navy2);background:#e8eef5;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex;position:relative}.ct-mobile-nav-icon .ct-crown-badge{top:-7px;border:2px solid #fff;width:22px;height:22px;position:absolute;inset-inline-end:-7px;box-shadow:0 1px 3px #0b254538}.ct-mobile-nav-icon .ct-crown-badge svg{width:11px;height:11px}.ct-mobile-nav-item.on .ct-mobile-nav-icon{background:var(--navy);color:#fff}.ct-mobile-nav-icon.logout{color:#b42318;background:#fce8e8}.ct-mobile-nav-text{flex-direction:column;gap:4px;min-width:0;display:flex}.ct-mobile-nav-title{color:var(--ink);font-size:17px;font-weight:800}.ct-mobile-nav-hint{color:var(--mut);font-size:14px;font-weight:500;line-height:1.35}.ct-mobile-sheet-foot{border-top:1px solid var(--line);margin-top:auto;padding-top:16px}.ct-mobile-logout{cursor:pointer;text-align:right;background:#fff8f8;border:2px solid #f5d0d0;border-radius:14px;align-items:center;gap:14px;width:100%;padding:18px 16px;font-family:inherit;transition:background .15s,border-color .15s;display:flex}.ct-mobile-logout:hover{background:#feecec;border-color:#e8a8a8}.ct-mobile-logout .ct-mobile-nav-title{color:#9b1c1c}.ct-brand{cursor:pointer;flex-shrink:0;align-items:center;gap:10px;min-width:0;display:flex}.ct-brand b{font-weight:800}.ct-brand span{font-size:17px;line-height:1}.ct-brand small{color:#9fb3cc;white-space:nowrap;font-size:11px;font-weight:500;display:block}.ct-logo{flex-shrink:0;align-items:center;display:flex}.ct-logo-img{width:auto;height:28px;display:block}.ct-logo-img.is-big{height:48px}.ct-topright{flex-wrap:nowrap;flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.ct-nav{scrollbar-width:none;flex-wrap:nowrap;gap:4px;min-width:0;display:flex;overflow-x:auto}.ct-nav::-webkit-scrollbar{display:none}.ct-nav button{color:#c9d6e5;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;flex-shrink:0;align-items:center;gap:7px;padding:8px 12px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.ct-nav-ic{opacity:.9;font-size:13px}.ct-nav button:hover{color:#fff;background:#ffffff14}.ct-nav button.on{background:var(--accent);color:#fff}.ct-project-nav-slot{box-sizing:border-box;width:100%;max-width:1040px;margin:0 auto;padding:26px 20px 0}.ct-project-nav-slot+.ct-wrap{padding-top:0}.ct-project-nav{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:22px;padding:16px 18px 18px;box-shadow:0 1px 3px #0b25450d}.ct-project-nav-label{color:var(--mut);letter-spacing:.02em;margin-bottom:12px;font-size:12px;font-weight:700}.ct-project-nav-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ct-project-nav-item{border:2px solid var(--line);background:var(--bg);cursor:pointer;text-align:right;box-sizing:border-box;border-radius:14px;align-items:center;gap:12px;width:100%;min-width:0;height:100%;min-height:104px;padding:16px 18px;font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.ct-project-nav-item:hover{background:#fff;border-color:#b8c5d4}.ct-project-nav-item.on{border-color:var(--navy);background:#fff;box-shadow:0 4px 16px #0b25451a}.ct-project-nav-item.on .ct-project-nav-title{color:var(--navy)}.ct-project-nav-icon{width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;max-height:44px;color:var(--navy2);box-sizing:border-box;background:#e8eef5;border-radius:11px;flex:0 0 44px;justify-content:center;align-items:center;font-size:22px;line-height:1;display:flex}.ct-project-nav-icon svg{width:22px;height:22px}.ct-project-nav-item.on .ct-project-nav-icon{background:var(--navy);color:#fff}.ct-project-nav-text{flex-direction:column;flex:1 1 0;gap:4px;min-width:0;display:flex}.ct-project-nav-title{color:var(--ink);font-size:17px;font-weight:800;line-height:1.2}.ct-project-nav-hint{color:var(--mut);overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.4}.source-doc-card,.source-doc-missing{margin-bottom:14px}.source-doc-frame{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;height:min(480px,60vh);margin-top:10px}.source-doc-img{border:1px solid var(--line);border-radius:8px;max-width:100%;max-height:min(480px,60vh);margin-top:10px;display:block}.source-doc-open{margin-top:10px;display:inline-block}.ct-logout{cursor:pointer;white-space:nowrap;color:#c9d6e5;background:0 0;border:1px solid #ffffff47;border-radius:8px;flex-shrink:0;align-items:center;gap:7px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.ct-logout:hover{color:#fff;background:#ffffff14;border-color:#fff6}.ct-main{flex:1}.ct-wrap{max-width:1040px;margin:0 auto;padding:26px 20px 40px}.ct-wrap.narrow{max-width:680px}.ct-wrap.wide{max-width:1600px}.ct-pagehead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:20px;display:flex}.ct-pagehead h1{margin:0;font-size:25px;font-weight:800}.ct-account-title{flex-direction:column;align-items:flex-start;display:flex}.ct-crown-badge{color:#f6c445;background:#3a3a3a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;line-height:1;display:inline-flex;box-shadow:0 0 0 2px #ffffffe6}.ct-crown-badge svg{width:10px;height:10px}.ct-crown-badge-page{width:30px;height:30px;margin-bottom:8px;box-shadow:0 1px 4px #0b254538}.ct-crown-badge-page svg{width:15px;height:15px}.ct-nav button.ct-nav-account{flex-direction:column;align-items:center;gap:2px;padding-top:4px;padding-bottom:4px}.ct-nav-account-label{align-items:center;gap:7px;display:inline-flex}.ct-sub{color:var(--mut);font-size:var(--text-base);margin:6px 0 0;line-height:1.45}.ct-actions{flex-wrap:wrap;gap:8px;display:flex}.btn{font-family:inherit;font-weight:700;font-size:var(--text-base);cursor:pointer;border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:10px;padding:11px 16px}.btn:hover{border-color:#c4d0dd}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:var(--accent-ink)}.btn.ghost{background:#fff}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.lnk{color:var(--mut);cursor:pointer;background:0;border:0;font-family:inherit;font-size:14px;font-weight:600}.lnk:hover{color:var(--navy)}.lnk.del:hover{color:#c42b2b}.ct-card{background:var(--card);border:1px solid var(--line);padding:var(--space-lg);border-radius:14px;box-shadow:0 1px 2px #0b25450a}.ct-card h3,.contacts-card h3,.stat-card h3,.act-card h3,.muni-head h3{font-size:var(--text-lg);margin:0 0 var(--space-md);font-weight:800;line-height:1.35}.ct-banner{color:var(--navy2);background:#eef3fa;border:1px solid #d6e2f0;border-radius:10px;margin-bottom:14px;padding:11px 14px;font-size:14px;font-weight:600}.ct-banner-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ct-banner-row .btn{flex:none}.ct-account{gap:14px;display:grid}.ct-account label{color:var(--navy);margin-bottom:12px;font-size:13px;font-weight:700;display:block}.ct-account input{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:#fff;border-radius:10px;margin-top:6px;padding:10px 12px;display:block}.ct-account-details{gap:10px;margin:0 0 14px;display:grid}.ct-account-details div{gap:2px;display:grid}.ct-account-details dt{color:var(--mut);font-size:12px;font-weight:700}.ct-account-details dd{margin:0;font-weight:700}.ct-form-err{color:#c42b2b;margin:0;font-weight:700}.ct-access{border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.ct-access strong{font-size:14px;display:block}.ct-access p{margin:4px 0 0;font-size:13px;font-weight:500}.ct-access.neutral{color:var(--navy2);background:#eef3fa;border:1px solid #d6e2f0}.ct-access.warning{color:#7a5800;background:#fcf1d6;border:1px solid #f0dca0}.ct-access.readonly{color:#8a1f1f;background:#fdecec;border:1px solid #f3c7c7}.ct-access.active{color:#15673a;background:#eaf6ee;border:1px solid #bfe3cc}.ct-sub-form{gap:12px;display:grid}.ct-sub-form label{gap:6px;font-size:13px;font-weight:700;display:grid}.ct-sub-form input,.ct-sub-form textarea{font:inherit;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-weight:500}.ct-banner.warn{color:#7a5800;background:#fcf1d6;border-color:#f0dca0}.ct-banner.ai{color:#15673a;background:#eaf6ee;border-color:#bfe3cc}.ct-empty{text-align:center;border:1px dashed var(--line);background:#fff;border-radius:16px;padding:54px 20px}.ct-empty h3{margin:14px 0 6px;font-size:20px}.ct-empty p{color:var(--mut);max-width:440px;margin:0 auto 18px}.ct-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.ct-card.proj{cursor:pointer;transition:all .15s}.ct-card.proj:hover{border-color:var(--amber);transform:translateY(-2px)}.proj-top{align-items:center;gap:14px;display:flex}.proj-meta h3{margin:0 0 3px;font-size:17px}.proj-meta span{color:var(--mut);font-size:13px}.proj-foot{border-top:1px solid var(--line);color:var(--mut);justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;font-size:13px;display:flex}.ring{justify-content:center;align-items:center;display:inline-flex;position:relative}.ring-val{color:var(--navy);font-weight:800;position:absolute}.ring-val small{font-size:.5em;font-weight:700}.ct-methods{grid-template-columns:1fr 1fr;gap:14px;display:grid}.ct-methods.single{grid-template-columns:1fr;max-width:520px}.method-unavailable{color:var(--mut);margin:14px 0 0;font-size:13.5px;font-weight:600}.method{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;padding:24px;transition:all .15s;position:relative}.method:hover{border-color:var(--amber);box-shadow:0 6px 18px #0b254514}.m-ic{margin-bottom:10px;font-size:30px}.method h3{margin:0 0 6px;font-size:18px}.method p{color:var(--mut);margin:0;font-size:14px}.method-soon{cursor:not-allowed;opacity:.72;background:#f8fafc}.method-soon:hover{border-color:var(--line);box-shadow:none}.import-beta{color:#15673a;vertical-align:middle;background:#eaf6ee;border-radius:20px;margin-inline-start:8px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.import-soon{color:#b47c00;vertical-align:middle;background:#fcf1d6;border-radius:20px;margin-inline-start:8px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.import-review .import-group{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.import-review .import-group h3{margin:0 0 10px;font-size:16px}.import-row{border-bottom:1px solid #eef2f6;grid-template-columns:72px 1fr;gap:10px;padding:10px 0;display:grid}.import-row.is-excluded{opacity:.5}.import-include{color:var(--mut);align-items:center;gap:6px;font-size:12px;display:flex}.import-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.import-fields input,.import-fields select,.import-fields textarea{border:1px solid var(--line);border-radius:10px;width:100%;padding:8px 10px;font-family:inherit}.import-fields small{grid-column:1/-1}.import-optin{color:var(--mut);align-items:flex-start;gap:10px;margin:16px 0 8px;font-size:13px;display:flex}@media (width<=1100px){.ct-methods{grid-template-columns:1fr 1fr}}.m-ai{color:#15673a;background:#eaf6ee;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:700;position:absolute;top:14px;left:14px}.wizard-upload-progress{text-align:center;padding:42px 28px}.wizard-upload-progress .ct-spinner{margin-bottom:14px}.wizard-upload-progress h3{color:var(--navy);margin:0 0 6px}.wizard-upload-progress p{color:var(--mut);margin:0}.wizard-progress-track{background:#e6ecf3;border-radius:999px;max-width:360px;height:7px;margin:22px auto 0;overflow:hidden}.wizard-progress-track span{border-radius:inherit;background:var(--amber);width:38%;height:100%;animation:1.15s ease-in-out infinite wizard-progress;display:block}@keyframes wizard-progress{0%{transform:translate(180%)}50%{transform:translate(70%)}to{transform:translate(-180%)}}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.fld{flex-direction:column;gap:6px;display:flex}.fld.full{grid-column:1/-1}.fld label{color:var(--navy2);font-size:13px;font-weight:700}.fld input,.fld select,.fld textarea,.search{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;width:100%;padding:9px 11px;font-family:inherit;font-size:14px}.fld input:focus,.fld select:focus,.fld textarea:focus,.search:focus{border-color:var(--amber);outline:0}.fld.bool{border:1px solid var(--line);background:#f8fafc;border-radius:9px;flex-direction:row;justify-content:space-between;align-items:center;padding:9px 12px}.switch{width:42px;height:24px;display:inline-block;position:relative}.switch input{display:none}.switch span{cursor:pointer;background:#cdd7e1;border-radius:20px;transition:all .2s;position:absolute;inset:0}.switch span:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;right:3px}.switch input:checked+span{background:var(--amber)}.switch input:checked+span:before{transform:translate(-18px)}.form-foot{justify-content:space-between;margin-top:20px;padding-top:4px;display:flex}.dash-grid{grid-template-columns:300px 1fr;gap:14px;min-width:0;display:grid}.dash-grid>*{min-width:0}.gauge-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.gauge-label{color:var(--navy2);font-weight:700}.gauge-sub{color:var(--mut);font-size:14px}.stat-card h3,.act-card h3{margin:0 0 12px}.stat-list{flex-direction:column;gap:2px;display:flex}.stat-row{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:9px 6px;display:flex}.stat-row:hover{background:#f5f8fb}.stat-row.muted{opacity:.7}.dot{border-radius:50%;flex:none;width:11px;height:11px}.st-lbl{flex:1;font-size:14px;font-weight:600}.st-num{color:var(--navy);font-size:16px;font-weight:800}.act-card{grid-column:1/-1}.act-block{margin-bottom:14px}.muni-card{grid-column:1/-1}.muni-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.muni-head h3{margin:0}.muni-toggle{cursor:pointer;text-align:right;background:0 0;border:0;align-items:center;gap:10px;width:100%;margin-bottom:0;padding:0;font-family:inherit;display:flex}.muni-card.open .muni-toggle{margin-bottom:10px}.muni-toggle h3{flex:auto;min-width:0;margin:0}.muni-toggle-lbl{display:none}.collapse-chev{color:var(--navy);flex:none;margin-inline-start:auto;font-size:14px;transition:transform .15s}.muni-card.open .collapse-chev,.permit-card.open .collapse-chev,.req-deps-acc.open .collapse-chev{transform:rotate(180deg)}.permit-toggle{cursor:pointer;text-align:right;background:0 0;border:0;align-items:center;gap:10px;width:100%;margin-bottom:0;padding:0;font-family:inherit;display:flex}.permit-card.open .permit-toggle{margin-bottom:10px}.permit-toggle h3{flex:auto;min-width:0;margin:0}.permit-chev{color:var(--navy);flex:none;margin-inline-start:auto;font-size:14px;transition:transform .15s}.permit-body{min-width:0}.permit-card:not(.open) .permit-body{display:none}.muni-reg{color:var(--mut);margin-right:4px;font-size:12px;font-weight:600}.vbadge{border-radius:20px;padding:4px 10px;font-size:12px;font-weight:700}.vbadge.v{color:#15803d;background:#e4f3e9}.vbadge.p{color:#9a6700;background:#fcf1d6}.vbadge.n{color:#7b8794;background:#eef1f5}.dash-pagehead{flex-direction:column;align-items:stretch;gap:14px}.dash-pagehead-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.proj-meta-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(168px,1fr));width:100%;display:grid}.proj-meta-item{align-items:center;gap:var(--space-sm);border:1px solid var(--line);background:#f7fafc;border-radius:12px;min-width:0;padding:12px 14px;display:flex}.proj-meta-icon{width:38px;height:38px;color:var(--navy2);background:#e8eef5;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;display:flex}.proj-meta-body{flex-direction:column;gap:4px;min-width:0;display:flex}.proj-meta-lbl{font-size:var(--text-sm);color:var(--mut);font-weight:700}.proj-meta-val{font-size:var(--text-base);color:var(--ink);overflow-wrap:anywhere;font-weight:800;line-height:1.35}.proj-meta-more{display:none}.muni-row{border-top:1px solid var(--line);gap:12px;padding:6px 0;font-size:14px;display:flex}.muni-row .il{font-size:var(--text-sm);color:var(--mut);min-width:110px;font-weight:800}.muni-row>span:not(.il){font-size:var(--text-base);color:var(--ink);line-height:1.55}.muni-src{margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--mut);line-height:1.45}.permit-upload-btn{width:100%;margin-top:18px;display:block}.btn-block{width:100%;margin-top:8px}.cform.cform-stack{gap:var(--space-md) 12px;margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.cform-field{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.cform-label{font-size:var(--text-sm);color:var(--navy2);font-weight:700}.cform-field input,.cform-stack input{font-family:inherit;font-size:var(--text-base);border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;width:100%;padding:12px 14px}.cform-field input:focus{border-color:var(--amber);outline:0}.cform-submit{width:100%;max-width:100%;font-size:var(--text-base);justify-self:start;margin-top:16px;padding:13px 16px}.cl-row-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cl-files{color:var(--mut);align-items:center;gap:4px;margin-inline-start:6px;display:inline-flex}.cl-files-ic{font-size:11px}.muni-row.col{flex-direction:column;gap:5px}.muni-row ul{margin:0;padding-right:18px}.muni-row li{margin-bottom:3px;line-height:1.45}.muni-profile-text{white-space:pre-wrap;flex-direction:column;gap:8px;font-weight:600;display:flex}.muni-profile-text strong{color:var(--ink);font-weight:800}.muni-profile-text p{margin:0}.act-h{color:var(--mut);margin-bottom:6px;font-size:13px;font-weight:800}.act-h.ready{color:#9a6700}.act-h.fail{color:#c42b2b}.act-item{text-align:right;border:1px solid var(--line);cursor:pointer;width:100%;color:var(--ink);background:#f7fafc;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:400;display:flex}.act-item:hover{border-color:var(--amber)}.act-item-text{flex:1;min-width:0}.act-item-text b{font-weight:800}.act-item-sep{color:var(--mut);margin:0 .45em;font-weight:400}.act-item small{color:var(--mut);flex-shrink:0;font-weight:500}.ct-toolbar{margin-bottom:18px}.search{margin-bottom:12px}.group-tog{color:var(--mut);align-items:center;gap:6px;margin-bottom:12px;font-size:13px;display:flex}.group-tog span{font-weight:600}.group-tog button{border:1px solid var(--line);color:var(--mut);cursor:pointer;background:#fff;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:13px;font-weight:600}.group-tog button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.ct-cat-mode{margin-bottom:8px}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--line);color:var(--mut);cursor:pointer;background:#fff;border-radius:20px;padding:6px 13px;font-family:inherit;font-size:13px;font-weight:600}.chip:hover{border-color:#c4d0dd}.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}.chip:disabled{opacity:.55;cursor:not-allowed}.cat-block{margin-bottom:22px}.cat-h{color:var(--amber);text-transform:uppercase;letter-spacing:.4px;margin-bottom:9px;padding-right:2px;font-size:13px;font-weight:800}.cl-list{flex-direction:column;gap:8px;display:flex}.cl-row{border:1px solid var(--line);cursor:pointer;text-align:right;background:#fff;border-radius:11px;align-items:center;gap:14px;padding:13px 15px;font-family:inherit;transition:all .12s;display:flex}.cl-row:hover{border-color:var(--amber);box-shadow:0 2px 10px #0b25450f}.badge{white-space:nowrap;border-radius:20px;flex:none;padding:4px 10px;font-size:12px;font-weight:700}.cl-main{flex-direction:column;flex:1;gap:2px;display:flex}.cl-main b{font-size:15px}.cl-main small{color:var(--mut);font-size:12.5px}.cl-prog{flex-direction:column;flex:none;align-items:flex-end;gap:4px;width:84px;display:flex}.bar{background:#e6ecf3;border-radius:6px;width:84px;height:6px;overflow:hidden}.bar span{background:var(--amber);border-radius:6px;height:100%;transition:all .4s;display:block}.cl-prog small{color:var(--mut);font-size:11px;font-weight:700}.req-workspace{grid-template-columns:400px 1fr;align-items:start;gap:32px;display:grid}.req-rail{background:0 0;border:0;border-radius:0;flex-direction:column;gap:12px;height:calc(100vh - 150px);max-height:calc(100vh - 150px);padding:10px;display:flex;position:sticky;top:76px;overflow:hidden}.req-rail-filter{z-index:4;background:#eef3fa;border:1px solid #d6e2f0;border-radius:12px;flex-direction:column;flex:none;gap:6px;margin-bottom:2px;padding:10px;display:flex;position:sticky;top:0}.req-rail-filter-label{color:var(--mut);text-align:right;font-size:11.5px;font-weight:800}.req-rail-search{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px}.req-rail-search:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 2px #0b25451a}.req-rail-search::placeholder{color:#9aa7b4}.req-rail-filter-tog{flex-wrap:wrap;gap:6px;display:flex}.req-rail-filter-tog button{border:1px solid var(--line);min-width:0;color:var(--mut);cursor:pointer;background:#fff;border-radius:8px;flex:1;padding:7px 8px;font-family:inherit;font-size:12px;font-weight:700}.req-rail-filter-tog button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.req-rail-filter-tog button:hover:not(.on){color:var(--navy2);border-color:#c4d0dd}.req-rail-empty{color:var(--mut);text-align:center;margin:0;padding:12px 4px;font-size:13px}.req-station-btn{border:1px solid var(--line);cursor:pointer;text-align:right;background:#fff;border-radius:12px;align-items:center;gap:10px;width:100%;padding:12px 14px;font-family:inherit;transition:box-shadow .15s,background .15s,border-color .15s,transform .15s;display:flex;box-shadow:0 4px 14px #0b254514}.req-station-btn:hover{background:#fff;transform:translateY(-1px);box-shadow:0 8px 22px #0b25451f}.req-station-btn.done{color:#15803d;background:#e4f3e9;border-color:#cde9d6}.req-station-btn.done:hover{background:#e4f3e9;border-color:#b7dec4}.req-station-btn.done .req-station-name,.req-station-btn.done .req-station-meta,.req-station-btn.done .req-station-check{color:#15803d}.req-station-btn.done .req-station-num{color:#fff;background:#15803d}.req-station-btn.on{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 8px 22px #0b254547}.req-station-btn.on:hover{background:var(--navy2);border-color:var(--navy2);box-shadow:0 10px 26px #0b254559}.req-station-btn.on .req-station-name,.req-station-btn.on .req-station-meta,.req-station-btn.on .req-station-check{color:#fff}.req-station-btn.on.done{color:#fff;background:#15803d;border-color:#15803d;box-shadow:0 8px 22px #15803d47}.req-station-btn.on.done:hover{background:#166534;border-color:#166534;box-shadow:0 10px 26px #15803d59}.req-station-btn.on.done .req-station-name,.req-station-btn.on.done .req-station-meta,.req-station-btn.on.done .req-station-check{color:#fff}.req-station-btn.on.done .req-station-num{color:#15803d;background:#fff}.req-station-num{width:26px;height:26px;color:var(--navy2);background:#e8eef5;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.req-station-num.code{letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:8px;width:auto;min-width:26px;padding:0 7px}.req-station-btn.on .req-station-num{color:#fff;background:#ffffff38}.req-station-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.req-station-name{color:var(--ink);font-size:13.5px;font-weight:700;line-height:1.3}.station-title{flex-wrap:wrap;align-items:baseline;gap:8px;display:inline-flex}.station-title-name{min-width:0}.station-source-code{min-width:2.15em;color:var(--navy2);letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap;background:#e8eef5;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:1px 7px;font-size:12px;font-weight:800;display:inline-flex}.req-station-btn.on .station-source-code{color:#fff;background:#ffffff38}.req-station-btn.done .station-source-code{color:#fff;background:#15803d}.req-station-btn.on.done .station-source-code{color:#15803d;background:#fff}.req-main-head .station-source-code{background:var(--navy);color:#fff;padding:2px 8px;font-size:13px}.req-station-meta{color:var(--mut);font-size:11.5px}.req-station-check{color:#15803d;flex:none;font-size:14px}.req-station-btn.on .ring-val{color:#fff}.req-station-btn.on circle:first-of-type{stroke:#ffffff47}.req-station-btn.on circle:last-of-type{stroke:#fff}.req-main{flex-direction:column;gap:16px;min-width:0;display:flex}.req-main-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.req-main-head h2{margin:0;font-size:20px}.req-more{flex-direction:column;gap:22px;display:flex}.req-more-section h3{color:var(--navy);margin:0 0 10px;font-size:15px}.req-main-actions{flex-wrap:wrap;align-items:flex-end;gap:18px;display:flex}.req-main-actions .req-card-menu{z-index:8;position:relative}.btn.ghost.small.on{background:var(--navy);color:#fff;border-color:var(--navy)}.req-main-actions-ops{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.req-main-actions-ops-btns{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.req-rail-desktop{flex-direction:column;flex:1;gap:12px;min-width:0;min-height:0;display:flex;overflow:hidden}.req-rail-stations{scrollbar-width:thin;scrollbar-color:#d5dee8 transparent;flex-direction:column;flex:1;gap:12px;min-width:0;min-height:0;padding:8px;display:flex;overflow-y:auto}.req-rail-stations::-webkit-scrollbar{width:6px}.req-rail-stations::-webkit-scrollbar-track{background:0 0}.req-rail-stations::-webkit-scrollbar-thumb{background:#d5dee8;border-radius:999px}.req-rail-stations::-webkit-scrollbar-thumb:hover{background:#b8c4d2}.req-rail-mobile,.req-station-chips{display:none}.req-rail-see-all{width:100%;display:none}.req-sticky-head .req-rail-see-all,.req-mobile-toolbar,.req-station-actions-open{display:none}.add-req-body{flex-direction:column;gap:14px;display:flex}.add-req-submit,.form-submit{margin-top:20px}.req-stations-sheet{max-width:520px}.req-stations-sheet-body{flex-direction:column;gap:14px;display:flex}.req-view-tog-wrap{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.req-view-tog-label{color:var(--mut);text-align:right;width:100%;font-size:11.5px;font-weight:800}.req-view-tog{background:0 0;border-radius:0;gap:6px;padding:0;display:inline-flex}.req-view-tog button{border:1px solid var(--line);color:var(--mut);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-family:inherit;font-size:12.5px;font-weight:700;display:inline-flex}.req-view-tog button.on{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:none}.req-view-tog button:hover:not(.on){color:var(--navy2);border-color:#c4d0dd}.dep-map{flex-direction:column;gap:12px;min-width:0;display:flex}.dep-map-toolbar{flex-direction:column;gap:4px;display:flex}.dep-map-toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dep-map-legend{color:var(--navy2);align-items:center;gap:8px;font-size:13.5px;font-weight:700;display:flex}.dep-map-hint{color:var(--mut);margin:0;font-size:12.5px}.dep-map-zoom{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:4px;padding:3px;display:inline-flex}.dep-map-zoom-btn{width:32px;height:30px;color:var(--navy2);cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;font-size:13px;display:flex}.dep-map-zoom-btn:hover:not(:disabled){background:#eef2f7}.dep-map-zoom-btn:disabled{opacity:.35;cursor:not-allowed}.dep-map-zoom-btn.reset{margin-inline-start:2px}.dep-map-zoom-val{text-align:center;min-width:48px;color:var(--navy);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:800}.dep-map-canvas{border:1px solid var(--line);background:#fff;border-radius:16px;max-height:calc(100vh - 220px);padding:8px;overflow:auto;box-shadow:0 4px 18px #0b25450f}.dep-map-svg{direction:ltr;min-width:0;display:block}.dep-map-edge{stroke:#94a3b8;stroke-width:1.75px;opacity:.85;transition:opacity .15s,stroke .15s}.dep-map-edge.hot{stroke:var(--navy);stroke-width:2.5px;opacity:1}.dep-map-edge.dim{opacity:.15}.dep-map-node{transition:opacity .15s}.dep-map-node.dim{opacity:.22}.dep-map-node-title{fill:var(--ink);font-family:inherit;font-size:13px;font-weight:700}.dep-map-node-status{font-family:inherit;font-size:11px;font-weight:700}.station-intro{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px}.station-intro-label{color:var(--mut);margin-bottom:6px;font-size:11.5px;font-weight:800;display:block}.station-intro-text{white-space:pre-wrap;color:var(--ink);margin:0;font-size:14.5px;line-height:1.6}.station-intro-text a,.iv a,.muni-profile-text a{color:var(--navy);text-underline-offset:2px;font-weight:800}.req-list{flex-direction:column;gap:10px;display:flex}.req-card{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:stretch;gap:0;width:100%;padding:12px;transition:all .18s;display:flex;position:relative;overflow:visible}.req-card:hover{border-color:var(--amber);box-shadow:0 2px 10px #0b25450f}.req-card.selected{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}.req-card.not-required{opacity:.62}.req-card:has(.req-card-menu-pop){z-index:60}.req-card-check{cursor:pointer;flex-shrink:0;align-items:center;padding:0 8px 0 0;display:flex}.req-card-check input{width:16px;height:16px;accent-color:var(--navy);cursor:pointer}.req-card-body{cursor:pointer;text-align:right;background:0 0;border:0;border-radius:12px;flex:1;align-items:center;gap:14px;min-width:0;padding:0 4px;font-family:inherit;display:flex}.req-card-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.req-card-main b{font-size:15px}.req-card-main small{color:var(--mut);font-size:12.5px}.req-card-menu{z-index:1;flex-shrink:0;align-items:center;padding:0 0 0 6px;display:flex;position:relative}.req-card-menu-btn{width:34px;height:34px;color:var(--mut);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;font-size:16px;display:flex}.req-card-menu-btn:hover,.req-card-menu-btn[aria-expanded=true]{color:var(--navy);background:#eef2f7}.req-card-menu-pop{z-index:61;border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:2px;min-width:170px;padding:6px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 10px 28px #0b254524}.req-card-menu-pop button{text-align:right;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:9px 10px;font-family:inherit;font-size:13px;font-weight:700;display:flex}.req-card-menu-pop button:hover{background:#f5f8fb}.req-card-menu-pop button:disabled{opacity:.45;cursor:not-allowed}.req-card-menu-pop button.danger{color:#c42b2b}.req-card-menu-pop button.danger:hover{background:#fbe7e7}.req-menu-mobile-only{display:none!important}.req-deps-sheet{max-width:520px}.req-status-sheet{max-width:480px}.req-deps-chips{flex-wrap:wrap;flex:1;gap:6px;min-width:0;display:flex}.req-dep-chip{cursor:pointer;text-align:right;background:#fff;border:1px solid;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:3px 10px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.3;display:inline-flex}.req-dep-chip:hover{filter:brightness(.97);box-shadow:0 1px 4px #0b254514}.req-dep-chip-status{opacity:.85;font-size:10px;font-weight:800}.req-modal-deps{border-bottom:1px solid var(--line);background:#f8fafc;flex-direction:column;gap:12px;padding:12px 18px;display:flex}.req-modal-deps.req-modal-deps-acc{background:0 0;gap:8px}.req-modal-deps-block{flex-direction:column;gap:8px;display:flex}.req-modal-deps-title{color:var(--navy2);font-size:12px;font-weight:800}.req-deps-acc{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.req-deps-acc-tog{width:100%;color:var(--navy2);cursor:pointer;text-align:right;background:#f8fafc;border:0;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;font-family:inherit;font-size:13px;font-weight:800;display:flex}.req-deps-acc-tog:hover{background:#eef2f7}.req-deps-acc-chev{color:var(--mut);margin-inline-start:0;font-size:12px}.req-deps-acc-body{border-top:1px solid var(--line);padding:12px 14px}.req-bulk-bar{z-index:5;color:#fff;background:#0b2545;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:flex;position:sticky;bottom:12px;box-shadow:0 8px 24px #0b254533}.req-bulk-count{font-size:14px;font-weight:600}.req-bulk-status{align-items:center;gap:8px;font-size:13px;display:flex}.req-bulk-status select{border:0;border-radius:8px;padding:6px 10px;font-family:inherit;font-size:13px}.req-bulk-bar .btn.ghost{color:#fff;background:#ffffff1a;border-color:#ffffff59}.req-bulk-bar .btn.ghost:hover{background:#ffffff2e}.req-mandatory{color:var(--mut);background:#f1f4f7;border-radius:20px;flex:none;padding:3px 9px;font-size:11px;font-weight:700}.path-group{border:1px dashed #cbd5e1;border-radius:14px;padding:14px}.path-group-label{color:var(--navy2);margin-bottom:10px;font-size:13px;font-weight:800}.path-options{flex-direction:column;gap:6px;display:flex}.path-option{border:1px solid #0000;border-radius:12px;padding:8px}.path-option.satisfied{background:#f3faf5;border-color:#cde9d6}.path-option-head{color:var(--navy2);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12.5px;font-weight:700;display:flex}.path-or{text-align:center;color:var(--mut);margin:2px 0;font-size:12px;font-weight:800}.path-tree{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px;overflow:visible}.path-tree-root{border-bottom:1px solid #eef2f7;flex-direction:column;gap:4px;margin-bottom:14px;padding:4px 4px 14px;display:flex}.path-tree-root-badge{letter-spacing:.02em;color:var(--navy2);background:#eef3fa;border-radius:20px;align-self:flex-start;padding:3px 9px;font-size:11px;font-weight:800}.path-tree-root strong{color:var(--navy);font-size:15px;line-height:1.35}.path-tree-root small{color:var(--mut);font-size:12.5px;line-height:1.4}.path-tree-columns{align-items:stretch;gap:0;display:flex}.path-tree-col-wrap{flex:1;align-items:stretch;min-width:0;display:flex}.path-tree-col-or{color:#7b8794;flex:none;justify-content:center;align-self:center;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:flex}.path-tree-column{background:#f8fafc;border:1px solid #e6edf4;border-radius:14px;flex-direction:column;flex:1;gap:0;min-width:0;padding:12px;display:flex;position:relative}.path-tree-column.satisfied{background:#f3faf5;border-color:#cde9d6}.path-tree-column.inactive{opacity:.7;background:#f4f5f7}.path-tree-column-head{border-bottom:1px dashed #d7e0ea;flex-direction:column;align-items:flex-start;gap:6px;min-height:64px;margin-bottom:12px;padding-bottom:10px;display:flex}.path-tree-column.satisfied .path-tree-column-head{border-bottom-color:#cde9d6}.path-tree-branch-index{color:#fff;background:var(--navy);border-radius:20px;padding:3px 9px;font-size:11px;font-weight:800}.path-tree-column.inactive .path-tree-branch-index{background:#9aa7b4}.path-tree-branch-title{color:var(--navy2);font-size:13.5px;font-weight:800;line-height:1.35}.path-tree-branch-state{border-radius:20px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.path-tree-branch-state.done{color:#15803d;background:#e4f3e9}.path-tree-branch-state.skip{color:#6b7280;background:#eef0f2}.path-tree-column-tasks{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex;position:relative}.path-tree-column-task{display:block;position:relative}.path-tree-column-task .req-card{margin:0}.path-tree-column-task .req-card-main b{font-size:14px}@media (width<=800px){.path-tree-columns{flex-direction:column;gap:4px}.path-tree-col-wrap{flex-direction:column}.path-tree-col-or{padding:6px 0}.path-tree-column-head{min-height:0}}.sheet-status-foot{border-top:1px solid var(--line);background:#f8fafc;flex-shrink:0;padding:14px 22px 18px}.sheet-status-label{color:var(--navy2);margin-bottom:10px;font-size:13px;font-weight:800}.sheet-status-open{display:none}.sb.on{font-weight:400}.req-modal-sheet{flex-direction:column;max-height:92vh;display:flex}.req-modal-sheet .sheet-body{flex:1;min-height:0}.admin-route-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.admin-route-tab{border:1px solid var(--line);color:var(--navy2);cursor:pointer;background:#fff;border-radius:20px;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:13.5px;font-weight:700;display:flex}.admin-route-tab.on{background:var(--navy);color:#fff;border-color:var(--navy)}.admin-route-inactive{color:var(--mut);background:#f1f4f7;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700}.admin-route-tab.on .admin-route-inactive{color:#fff;background:#ffffff2e}.admin-route-edit{opacity:.75;font-size:11.5px;font-weight:700;text-decoration:underline}.admin-route-edit:hover{opacity:1}.admin-tabs{margin-bottom:6px;padding:0}.admin-check-list{border:1px solid var(--line);border-radius:9px;flex-direction:column;gap:6px;max-height:220px;padding:10px;display:flex;overflow-y:auto}.admin-version-list{flex-wrap:wrap;gap:8px;margin:8px 0 14px;display:flex}.admin-apply-preview{border:1px solid var(--line);background:#f8fafc;border-radius:10px;margin-top:12px;padding:12px}.admin-save-wait{border:1px solid var(--line);background:#f8fafc;border-radius:12px;flex-direction:column;align-items:center;gap:10px;margin-bottom:14px;padding:16px 12px;display:flex}.admin-save-wait .ct-spinner{margin:0}.admin-save-wait p{color:var(--navy);margin:0;font-size:14px;font-weight:700}.admin-apply-names{max-height:160px;margin:8px 0 0;padding:0 18px;font-size:13px;overflow-y:auto}.admin-check-row{cursor:pointer;align-items:center;gap:8px;font-size:13.5px;display:flex}.admin-check-row input{width:auto}.admin-modal-foot{justify-content:flex-end;gap:10px;margin-top:20px;padding-top:4px;display:flex}.admin-path-groups{flex-direction:column;gap:14px;display:flex}.admin-path-group{flex-direction:column;gap:10px;display:flex}.admin-inline-row{align-items:center;gap:10px;display:flex}.admin-inline-row input{flex:1}.admin-path-option{border:1px dashed #cbd5e1;border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.admin-sortable-list{flex-direction:column;gap:10px;display:flex}.admin-sortable-list.busy{opacity:.7;pointer-events:none}.admin-sortable-stations{flex-direction:column;gap:8px;display:flex}.admin-sortable-stations.busy{opacity:.7;pointer-events:none}.admin-stations-hint{color:var(--mut);text-align:right;margin:0 0 2px;font-size:11.5px;font-weight:700}.admin-sortable-station-row{align-items:stretch;gap:6px;display:flex}.admin-sortable-station-row.dragging{opacity:.45}.admin-sortable-station-row.drag-over .req-station-btn{border-color:var(--amber);box-shadow:0 0 0 2px #0e7c9a40}.admin-sortable-station-row .req-station-btn{flex:1;min-width:0}.admin-sortable-station-row .admin-drag-handle{align-self:stretch}.admin-sortable-row{align-items:stretch;gap:6px;display:flex}.admin-sortable-row.dragging{opacity:.45}.admin-sortable-row.drag-over .admin-sortable-card{border-color:var(--amber);box-shadow:0 0 0 2px #0e7c9a40}.admin-drag-handle{border:1px solid var(--line);width:36px;color:var(--mut);cursor:grab;background:#f8fafc;border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:14px;display:flex}.admin-drag-handle:active{cursor:grabbing}.admin-drag-handle:hover{color:var(--navy);border-color:#c4d0dd}.admin-sortable-card{text-align:right;flex:1;min-width:0}@media (width<=900px){.req-workspace{grid-template-columns:1fr}.req-rail{display:none}.req-sticky-head{z-index:24;background:var(--bg);flex-direction:column;align-self:stretch;gap:10px;width:100%;padding:0 0 12px;display:flex;position:sticky;top:60px;box-shadow:0 10px 12px -10px #0b25452e}.req-sticky-head .req-rail-see-all{justify-content:center;align-items:center;width:100%;display:inline-flex}.req-station-chips{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.req-station-chips::-webkit-scrollbar{display:none}.req-station-chip{border:1px solid var(--line);max-width:11rem;color:var(--navy);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#fff;border-radius:999px;flex:none;padding:7px 12px;font-family:inherit;font-size:13px;font-weight:700;overflow:hidden}.req-station-chip.done{color:#15803d;background:#e4f3e9;border-color:#cde9d6}.req-station-chip.on{background:var(--navy);border-color:var(--navy);color:#fff}.req-station-chip.on.done{color:#fff;background:#15803d;border-color:#15803d}.req-main-actions{width:100%}.req-main-actions-ops{flex:100%;width:100%}.req-main-actions-ops-btns{width:100%}.req-main-actions-ops-btns .btn{flex:1}.req-main-actions-ops-btns .req-card-menu{flex:none}.req-station-btn{width:100%;min-width:0}}.ct-modal{z-index:70;background:#0b254580;justify-content:center;align-items:flex-start;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.ct-modal-stack{z-index:76}.ct-confirm-backdrop{z-index:90;background:#0b25458c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ct-confirm{background:#fff;border-radius:14px;width:100%;max-width:400px;padding:22px 20px;box-shadow:0 16px 48px #0b254533}.ct-confirm h3{color:var(--navy);margin:0 0 8px;font-size:17px}.ct-confirm p{color:var(--mut);white-space:pre-line;margin:0 0 18px;font-size:14px;line-height:1.5}.ct-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.btn.danger{color:#fff;background:#c42b2b;border-color:#c42b2b}.btn.danger:hover{background:#a32222;border-color:#a32222}.ct-sheet{background:#fff;border-radius:16px;width:100%;max-width:620px;margin:auto;box-shadow:0 24px 60px #0b25454d}.sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:20px 22px 14px;display:flex}.sheet-head h2{margin:8px 0 0;font-size:20px}.x{cursor:pointer;width:34px;height:34px;color:var(--mut);background:#f1f4f7;border:0;border-radius:9px;flex:none;font-size:15px}.x:hover{background:#e6ecf3}.sheet-tabs{gap:4px;padding:12px 22px 0;display:flex}.sheet-tabs button{color:var(--mut);cursor:pointer;background:0;border:0;border-bottom:2px solid #0000;flex:1;padding:10px;font-family:inherit;font-size:14px;font-weight:700}.sheet-tabs button.on{color:var(--navy);border-color:var(--amber)}.sheet-body{min-height:0;max-height:62vh;padding:18px 22px 24px;overflow-y:auto}.mb{margin-bottom:12px}.cond-grp{margin-bottom:16px}.cond-h{color:var(--navy2);margin-bottom:7px;font-size:13px;font-weight:800}.cond{border:1px solid var(--line);cursor:pointer;border-radius:9px;flex:1;align-items:flex-start;gap:10px;min-width:0;margin-bottom:0;padding:10px 11px;font-size:14px;line-height:1.4;display:flex}.cond-row{align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.cond-row.done .cond{background:#f3faf5;border-color:#cde9d6}.cond-row.done .cond-desc{color:var(--mut);text-decoration:line-through}.cond-actions{flex-direction:column;flex-shrink:0;gap:2px;padding-top:6px;display:flex}.cond-actions .lnk{padding:4px 2px;font-size:12px}.cond span{flex:1;min-width:0}.cond-text{text-align:right;flex-direction:column;flex:1;align-items:stretch;gap:4px;min-width:0;display:flex}.cond-desc{line-height:1.4;display:block}.cond-date{color:var(--navy2);font-size:12px;font-weight:600;line-height:1.35;display:block}.cond-date-val{direction:ltr;unicode-bidi:embed;display:inline-block}.cond-row.done .cond-date{color:var(--mut)}.cond:hover{background:#f8fafc}.cond input{width:17px;height:17px;accent-color:var(--amber);cursor:pointer;flex:none;margin-top:2px}.ai-box{border:1px solid var(--line);background:#f7fafc;border-radius:11px;margin-top:8px;padding:13px}.ai-head{justify-content:space-between;align-items:center;display:flex}.ai-text{color:var(--ink);overflow-wrap:anywhere;margin-top:10px;font-size:13.5px;line-height:1.65}.ai-text .ai-p{margin:0 0 10px}.ai-text .ai-p:last-child{margin-bottom:0}.ai-text .ai-ol{margin:0 0 12px;padding-right:20px}.ai-text .ai-ol li{margin-bottom:8px;line-height:1.6}.ai-text strong{color:var(--navy2);font-weight:800}.info-list{flex-direction:column;gap:14px;display:flex}.req-files-block{margin-top:18px}.info-row{gap:12px;display:flex}.info-row.col{flex-direction:column;gap:6px}.il{font-size:var(--text-sm);color:var(--mut);min-width:110px;font-weight:800}.iv{font-size:var(--text-base);white-space:pre-wrap;line-height:1.55}.iv.muted{color:var(--mut);font-size:var(--text-sm)}.info-row ul{margin:0;padding-right:18px}.info-row li{font-size:var(--text-base);margin-bottom:4px;line-height:1.5}.info-row ul.warn li{color:#a33}.manage{grid-template-columns:1fr 1fr;gap:14px;display:grid}.status-btns{flex-wrap:wrap;gap:8px;display:flex}.sb{border:1px solid var(--line);cursor:pointer;color:var(--navy);background:#fff;border-radius:8px;padding:8px 13px;font-family:inherit;font-size:13px;font-weight:400}.sb.pass{color:#15803d;border-color:#15803d}.sb.pass:hover{background:#e4f3e9}.sb.fail{color:#c42b2b;border-color:#c42b2b}.sb.fail:hover{background:#fbe7e7}.files-n{color:var(--mut);font-weight:600}.due-banner{text-align:right;cursor:pointer;background:#fcf6e6;border:1px solid #f0dca0;border-radius:12px;align-items:center;gap:12px;width:100%;margin-bottom:18px;padding:13px 16px;font-family:inherit;transition:all .12s;display:flex}.due-banner.urgent{background:#fbe7e7;border-color:#f2b8b8}.due-banner:hover{box-shadow:0 3px 12px #0b254514}.due-ic{flex:none;font-size:20px}.due-txt{color:var(--navy);flex-wrap:wrap;align-items:center;gap:4px;font-size:15px;display:flex}.due-txt b{color:#c42b2b}.due-txt small{width:100%;color:var(--mut);margin-top:2px;font-size:12.5px;font-weight:600;display:block}.due-pill{white-space:nowrap;border-radius:20px;flex:none;padding:3px 9px;font-size:11px;font-weight:800}.rm-stwrap{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;display:flex}.contacts-card{grid-column:1/-1;min-width:0}.contacts-head{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;gap:12px;display:flex}.contacts-head h3{margin:0 0 4px}.contacts-head .btn{align-items:center;gap:7px;display:inline-flex}.contacts-head-actions{flex-wrap:wrap;gap:8px;display:flex}.contacts-table-wrap{border:1px solid var(--line);border-radius:12px;min-width:0;max-width:100%;overflow-x:auto}.contacts-table{border-collapse:collapse;width:100%;min-width:640px}.contacts-table th,.contacts-table td{border-bottom:1px solid var(--line);text-align:right;vertical-align:middle;padding:8px 10px}.contacts-table th{font-size:var(--text-sm);color:var(--mut);background:#f7fafc;font-weight:800}.contacts-table tr:last-child td{border-bottom:0}.contacts-table input{width:100%;font-family:inherit;font-size:var(--text-base);border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px}.contacts-table input::placeholder{color:#9aa7b4}.contacts-table input:hover{border-color:#c4d0dd}.contacts-table input:focus{border-color:var(--amber);outline:0;box-shadow:0 0 0 3px #0e7c9a2e}.contacts-empty-row input{background:#fafcfe;border-style:dashed}.contacts-autosave{font-size:var(--text-sm);color:var(--mut);margin:0;font-weight:600}.contacts-empty{color:var(--mut);font-size:var(--text-sm);text-align:center;padding:18px 12px!important}.contacts-col-acts{white-space:nowrap;width:120px}.contacts-col-acts .contact-act{padding:7px 8px}.contacts-list{gap:var(--space-sm);margin-bottom:var(--space-sm);flex-direction:column;display:flex}.contact-row{justify-content:space-between;align-items:flex-start;gap:var(--space-md);border:1px solid var(--line);background:#f7fafc;border-radius:12px;padding:14px 16px;display:flex}.contact-meta{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.contact-detail{font-size:var(--text-sm);color:var(--ink);align-items:center;gap:10px;line-height:1.45;display:flex}.contact-detail.name{font-size:var(--text-base)}.contact-detail.name b{font-weight:800}.contact-detail-ic{width:30px;height:30px;color:var(--navy2);background:#e8eef5;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:flex}.contact-detail.name .contact-detail-ic{background:var(--navy);color:#fff;font-size:14px}.contact-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.contact-act{font-family:inherit;font-size:var(--text-sm);border:1px solid var(--line);color:var(--navy);cursor:pointer;white-space:nowrap;background:#fff;border-radius:9px;align-items:center;gap:7px;padding:9px 12px;font-weight:700;text-decoration:none;display:inline-flex}.contact-act:hover{border-color:#c4d0dd}.contact-act.wa{color:#128c7e;background:#f0fbf7;border-color:#b8e6d8}.contact-act.wa:hover{background:#e4f7f0}.contact-act.mail{color:var(--navy2);background:#f7fafc;border-color:#d6e2f0}.contact-act.add{background:var(--navy);border-color:var(--navy);color:#fff}.contact-act.add:hover{background:var(--navy2);border-color:var(--navy2)}.contact-act.del{color:var(--mut);background:0 0;border-color:#0000;padding:9px 8px}.contact-act.del:hover{color:#c42b2b}.cform{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cform:not(.cform-stack) input{border:1px solid var(--line);border-radius:8px;flex:1;min-width:120px;padding:8px 10px;font-family:inherit;font-size:13.5px}.contact-pick{align-items:center;gap:8px;display:flex}.contact-pick select{flex:1}.contact-pick-new{white-space:nowrap;justify-content:center;align-self:stretch;align-items:center;display:inline-flex}.contact-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn.small{padding:7px 13px;font-size:13px}.hint{color:var(--mut);font-size:12px}.files{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.files-empty{color:var(--mut);margin:2px 0;font-size:13px}.file-row{border:1px solid var(--line);background:#f7fafc;border-radius:9px;align-items:center;gap:10px;padding:8px 11px;display:flex}.file-ic{flex:none;font-size:18px}.file-meta{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.file-meta b{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.file-meta small{color:var(--mut);font-size:11.5px}.ct-foot{color:var(--navy);text-align:center;background:0 0;border-top:1px solid #e4e4e4;padding:14px;font-size:13px;font-weight:500}.ct-foot p{margin:0}.ct-foot-credit{color:var(--navy);opacity:.75;font-size:12px;margin-top:8px!important}.ct-toast{bottom:calc(80px + env(safe-area-inset-bottom,0px));z-index:70;text-align:center;color:#fff;border-radius:11px;max-width:90vw;padding:13px 22px;font-size:14px;font-weight:600;position:fixed;right:50%;transform:translate(50%)}.ct-toast-success{background:#15803d;box-shadow:0 10px 30px #15803d66}.ct-toast-error{background:#c42b2b;box-shadow:0 10px 30px #c42b2b66}.rm-legend{color:var(--mut);flex-wrap:wrap;gap:14px;margin-bottom:18px;font-size:12px;display:flex}.rm-leg{align-items:center;gap:5px;display:flex}.rm-leg i{border-radius:50%;width:10px;height:10px;display:inline-block}.rm-phase{margin-bottom:16px}.rm-phead{align-items:center;gap:10px;margin-bottom:8px;display:flex}.rm-pnum{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:flex}.rm-phead b{font-size:15px}.rm-phead small{color:var(--mut);font-size:12px;font-weight:600;display:block}.rm-track{border-right:2px dashed #cbd5e1;flex-direction:column;gap:10px;margin-right:13px;padding:6px 26px 6px 0;display:flex}.rm-node{cursor:pointer;text-align:right;background:0 0;border:0;align-items:flex-start;padding:0;font-family:inherit;display:flex;position:relative}.rm-dot{z-index:1;border-radius:50%;flex:none;width:14px;height:14px;margin-top:15px;position:absolute;right:-33px;box-shadow:0 0 0 3px #fff}.rm-card{border:1px solid var(--line);background:#fff;border-radius:11px;flex-direction:column;flex:1;gap:2px;padding:11px 14px;transition:all .12s;display:flex}.rm-node:hover .rm-card{border-color:var(--amber);box-shadow:0 2px 10px #0b254512}.rm-card b{font-size:15px}.rm-card small{color:var(--mut);font-size:12.5px}.rm-dep{color:#9a6700;margin-top:3px;font-size:12px}.rm-st{border-radius:20px;align-self:flex-start;margin-top:5px;padding:3px 9px;font-size:11px;font-weight:700}.rm-final{background:var(--navy);color:#fff;text-align:center;border-radius:11px;margin:6px 13px 0;padding:14px 16px;font-size:15px;font-weight:700}.print-only{display:none}@media (width<=760px){.dash-grid,.ct-methods,.form-grid,.manage{grid-template-columns:1fr}.ct-pagehead h1{font-size:21px}.ct-menu-btn{display:flex}.ct-top{z-index:66}.ct-mobile-overlay{z-index:65}.ct-topright-desktop{display:none!important}.ct-wrap{padding:20px 16px 32px}.ct-project-nav-slot{max-width:none;padding:0}.ct-project-nav-slot+.ct-wrap{padding-top:20px}.ct-project-nav{z-index:25;border:none;border-top:1px solid var(--line);padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));border-radius:0;margin:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #0b25451a}.ct-project-nav-label{display:none}.ct-project-nav-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.ct-project-nav-item{background:0 0;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;height:auto;min-height:auto;padding:8px 4px}.ct-project-nav-item:hover{background:#0b25450a}.ct-project-nav-item.on{box-shadow:none;background:#0b254512}.ct-project-nav-icon{border-radius:10px;flex:0 0 40px;width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px;font-size:17px}.ct-project-nav-icon svg{width:17px;height:17px}.ct-project-nav-text{align-items:center;gap:0}.ct-project-nav-hint{display:none}.ct-project-nav-title{text-align:center;font-size:12px;font-weight:700;line-height:1.25}.ct-root:has(.ct-project-nav) .ct-wrap{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.ct-root:has(.ct-project-nav) .ct-foot{margin-bottom:calc(88px + env(safe-area-inset-bottom,0px));font-size:var(--text-sm);padding:16px;line-height:1.55}.ct-root:has(.ct-project-nav) .ct-toast{bottom:calc(100px + env(safe-area-inset-bottom,0px))}.ct-feedback-fab{display:none!important}.req-bulk-bar{left:12px;right:12px;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:30;max-width:none;margin:0;position:fixed}.req-main:has(.req-bulk-bar){padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}body.ct-menu-open .ct-project-nav{display:none!important}body.ct-menu-open .ct-feedback-fab{display:none}body.ct-insp-open .ct-project-nav,body.ct-insp-open .ct-top{display:none!important}.ct-card{padding:20px 16px}.ct-pagehead{flex-direction:column;align-items:stretch;gap:12px}.dash-pagehead-top{flex-direction:column;align-items:stretch}.ct-actions{width:100%}.ct-actions .btn{flex:1;min-width:0;padding:12px 14px;font-size:14px}.proj-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.proj-meta-item{padding:12px 14px}.proj-meta-val{font-size:var(--text-base)}.proj-meta-grid .proj-meta-item:nth-child(n+5){display:none}.proj-meta-grid.extra-open .proj-meta-item:nth-child(n+5){display:flex}.proj-meta-more{justify-content:center;align-items:center;width:100%;display:inline-flex}.contacts-card .cform.cform-stack{gap:var(--space-md);margin-top:var(--space-md);padding-top:var(--space-md);grid-template-columns:1fr}.contacts-card .cform.cform-stack .cform-field,.contacts-card .cform.cform-stack .cform-submit{width:100%}.contacts-card .cform.cform-stack .cform-submit{grid-column:1/-1;justify-self:stretch}.contact-row{flex-flow:column wrap;align-items:stretch;padding:14px 16px}.contact-actions{width:100%}.contact-act{flex:1;justify-content:center;min-width:calc(50% - 4px)}.muni-head{flex-direction:column;align-items:flex-start;gap:10px}.muni-head h3{font-size:17px;line-height:1.35}.muni-row,.info-row:not(.col){flex-direction:column;align-items:stretch;gap:6px;padding:14px 0}.muni-row .il,.info-row .il{min-width:0;font-size:13px}.muni-row>span:not(.il),.info-row .iv{font-size:15px;font-weight:600;line-height:1.55}.muni-profile-text{white-space:pre-wrap;font-weight:600}.info-row ul li{font-size:15px}.muni-card .btn-block,.contacts-card .cform-submit,.ai-head .btn{width:100%;font-size:var(--text-base);padding:13px 16px}.ai-head{flex-direction:column;align-items:stretch;gap:10px}.ai-box{padding:16px}.ai-text{font-size:15px;line-height:1.65}.cl-row{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.cl-main b{font-size:16px}.cl-main small{font-size:14px;line-height:1.45}.cl-prog{align-items:stretch;width:100%}.bar{width:100%;height:8px}.cl-prog small{align-self:flex-end;font-size:12px}.ct-modal{align-items:stretch;height:100dvh;padding:0;overflow:hidden}.ct-sheet{border-radius:0;flex-direction:column;max-width:none;height:100%;min-height:0;max-height:100dvh;margin:0;display:flex;overflow:hidden}.sheet-head{padding:max(18px,env(safe-area-inset-top)) 16px 14px;background:#fff;flex-shrink:0}.sheet-head h2{font-size:19px}.sheet-tabs{background:#fff;flex-shrink:0;padding:10px 16px 0}.sheet-tabs button{padding:12px 8px;font-size:15px}.ct-sheet .ct-banner{flex-shrink:0}.sheet-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;max-height:none;padding:18px 16px 20px;overflow-y:auto}.cond{padding:12px 14px;font-size:15px}.fld input,.fld textarea,.search{padding:12px 14px;font-size:16px}.fld select{padding-block:12px;font-size:16px}.status-btns .sb{flex:1;min-width:calc(50% - 4px);padding:12px;font-size:14px}.sheet-status-foot{padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px))}.sheet-status-foot .sheet-status-label,.sheet-status-foot .status-btns{display:none}.sheet-status-open{border:1px solid var(--line);cursor:pointer;text-align:right;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px 14px;font-family:inherit;display:flex}.sheet-status-open span:first-child{color:var(--navy2);font-size:15px;font-weight:800}.sheet-status-open-current{border-radius:20px;padding:4px 10px;font-size:13px;font-weight:800}}body.ct-drawer-open{overflow:hidden}.ct-drawer,.req-status-drawer{z-index:80;background:#0b254573;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.ct-drawer-sheet,.req-status-drawer-sheet{width:100%;max-height:80dvh;padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px));background:#fff;border-radius:16px 16px 0 0;animation:.2s req-status-drawer-in;overflow-y:auto}@keyframes req-status-drawer-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.ct-drawer-handle,.req-status-drawer-handle{background:#d7e0ea;border-radius:4px;width:40px;height:4px;margin:6px auto 12px}.ct-drawer-head{align-items:center;gap:6px;margin:0 0 8px;display:flex}.ct-drawer-back{width:36px;height:36px;color:var(--navy);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:16px;display:flex}.ct-drawer-back:hover{background:#eef2f7}.ct-drawer-title,.req-status-drawer-title{color:var(--navy);text-align:right;flex:1;margin:0;font-size:16px;font-weight:800}.ct-drawer-list,.req-status-drawer-list{flex-direction:column;display:flex}.ct-drawer-item,.req-status-drawer-item{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:right;width:100%;color:var(--ink);background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:16px 4px;font-family:inherit;font-size:16px;font-weight:400;display:flex}.ct-drawer-item span{align-items:center;gap:8px;display:inline-flex}.ct-drawer-item:last-child,.req-status-drawer-item:last-child{border-bottom:0}.ct-drawer-item.on,.req-status-drawer-item.on{font-weight:400}.ct-drawer-item:disabled{opacity:.45;cursor:not-allowed}.ct-drawer-item.danger{color:#c42b2b}.ct-drawer-check,.req-status-drawer-check{width:22px;color:var(--navy);flex:none;justify-content:center;align-items:center;font-size:16px;display:flex}@media print{.ct-top,.ct-foot,.ct-actions,.ct-nav,.ct-project-nav,.ct-toast,.ct-modal,.ct-menu-btn,.ct-mobile-overlay,.report-overlay{display:none!important}.ct-root,.ct-main,.ct-wrap{all:unset}.print-only{color:#1b2a38;direction:rtl;padding:6px;font-family:inherit;display:block}.pr-head{border-bottom:3px solid #0b2545;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.pr-brand{color:#0e7c9a;letter-spacing:.3px;font-size:12px;font-weight:800}.print-only h1{color:#0b2545;margin:2px 0 0;font-size:20px}.pr-score{text-align:center}.pr-pct{color:#0b2545;font-size:30px;font-weight:800;line-height:1}.pr-score div:last-child{color:#5b6b7f;font-size:11px}.pr-meta{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:12px}.pr-meta th{color:#0b2545;text-align:right;background:#eef2f7;border:1px solid #d9e1ea;width:14%;padding:5px 8px}.pr-meta td{border:1px solid #d9e1ea;width:36%;padding:5px 8px}.pr-counts{background:#f4f6f9;border:1px solid #e3eaf1;border-radius:8px;flex-wrap:wrap;gap:12px;margin-bottom:12px;padding:8px 12px;font-size:12px;display:flex}.pr-counts b{margin-left:3px;font-size:15px}.pr-action{background:#fcf6e6;border:1px solid #f0dca0;border-radius:8px;margin-bottom:14px;padding:8px 12px;font-size:12px}.pr-action h2{color:#9a6700;margin:0 0 5px;font-size:13px}.pr-action p{margin:3px 0}.pr-phase{page-break-inside:avoid;margin-bottom:14px}.pr-phase h2{border-bottom:1px solid #e3eaf1;margin:0 0 6px;padding-bottom:3px;font-size:14px}.pr-phase h2 span{color:#5b6b7f;font-size:12px;font-weight:600}.print-only table{border-collapse:collapse;width:100%;font-size:11.5px}.print-only th,.print-only td{text-align:right;vertical-align:top;border:1px solid #ccc;padding:5px 7px}.pr-phase th{color:#fff;background:#0b2545;font-weight:600}.disc{color:#a33;border-top:1px solid #e3eaf1;margin-top:18px;padding-top:8px;font-size:10.5px;font-style:italic}}.ct-login{background:#f4f6f9;justify-content:center;align-items:center;min-height:100dvh;padding:24px;font-family:inherit;display:flex}.ct-login-card{background:#fff;border-radius:16px;width:100%;max-width:400px;padding:32px;box-shadow:0 8px 32px #0b25451a}.ct-login-brand{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-bottom:28px;display:flex}.ct-login-brand .ct-logo-img{height:45px}.ct-login-brand b{color:#0b2545;font-size:16px;display:block}.ct-login-brand small{color:#7b8794;font-size:15px}.ct-login-brand small strong{color:inherit;font-weight:600}.ct-login-card h1{color:#0b2545;margin:0 0 24px;font-size:20px}.ct-login-card p{color:#7b8794;margin:0 0 20px;font-size:14px;line-height:1.5}.ct-login-card label{color:#0b2545;margin-bottom:14px;font-size:13px;font-weight:600;display:block}.ct-login-card input,.ct-login-card select{width:100%;color:var(--ink);background:#fff;border:1px solid #e6ecf3;border-radius:8px;margin-top:6px;padding:10px 12px;font-family:inherit;font-size:14px;display:block}.ct-login-card input::placeholder{color:#9aa7b4}.ct-login-card select{cursor:pointer}.ct-login-card p.ct-login-err,.ct-login-card p.ct-login-ok{border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.45}.ct-login-card p.ct-login-err{color:#7f1d1d;background:#fee2e2;border:1px solid #fca5a5}.ct-login-card p.ct-login-ok{color:#14532d;background:#dcfce7;border:1px solid #86efac}.ct-login-card button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;padding:12px;font-family:inherit;font-size:15px;font-weight:700}.ct-login-card button:hover:not(:disabled){background:var(--accent-ink);color:#fff}.ct-login-card form>button[type=submit]{margin-top:20px}.ct-login-card button:disabled{opacity:.6;cursor:not-allowed}.ct-login-modes{gap:8px;margin-bottom:20px;display:flex}.ct-login-modes button{border:1px solid var(--line);color:var(--navy2);cursor:pointer;background:#f4f6f9;border-radius:10px;flex:1;padding:10px;font-size:13px;font-weight:700}.ct-login-modes button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.ct-login-sub{color:var(--mut);margin:0 0 14px;font-size:14px}.ct-phone-row{gap:8px;margin-top:6px;display:flex}.ct-phone-row select{flex-shrink:0;width:42%;min-width:0;margin-top:0}.ct-phone-row input{flex:1;margin-top:0}.ct-otp-input{text-align:center;letter-spacing:.35em;font-family:monospace;font-size:22px}.ct-login-otp-foot{justify-content:space-between;align-items:center;gap:20px;margin-top:16px;font-size:13px;display:flex}.ct-login-otp-foot .lnk{min-width:0;padding:8px 4px}.ct-login-links{margin-top:16px;font-size:13px;line-height:1.7}.ct-login-links p{margin:0}.ct-login-links a{color:var(--navy);font-weight:700;text-decoration:underline}@media (width<=760px){body:has(.ct-login){height:100dvh;overflow:hidden}.ct-login{height:auto;min-height:0;padding:16px;position:fixed;inset:0;overflow:hidden}.ct-login-card{padding:24px 20px}}.ai-soon{background:#f7fafc;border:1px dashed #c8d4e0;border-radius:11px;margin-top:12px;padding:14px 16px}.ai-soon-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.ai-soon-badge{color:#9a6700;white-space:nowrap;background:#fff4d6;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:800}.ai-soon-hint{color:var(--mut);margin:0;font-size:13px;line-height:1.55}.cond-add{gap:8px;margin-top:8px;display:flex}.cond-add input{border:1px solid var(--line);border-radius:9px;flex:1;padding:10px 12px;font-family:inherit;font-size:14px}.cond-add .btn{flex-shrink:0}.ct-feedback-fab{left:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:55;background:var(--accent);color:#fff;border:2px solid var(--accent-ink);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 16px 10px;font-family:inherit;font-size:12px;font-weight:800;line-height:1.25;display:flex;position:fixed;box-shadow:0 8px 28px #0e7c9a73,0 2px 8px #0b25451f}.ct-feedback-fab-ic{font-size:22px}.ct-feedback-fab-txt-short{display:none}.ct-root:has(.ct-project-nav) .ct-feedback-fab{bottom:calc(96px + env(safe-area-inset-bottom,0px))}.ct-sheet-sm{border-radius:16px;max-width:480px;min-height:auto;max-height:90dvh;margin:auto}.ct-empty-compact{border-radius:12px;padding:22px 16px}.ct-empty-compact h3{margin:0 0 4px;font-size:15px}.ct-empty-compact p{margin:0 auto;font-size:13px}.ct-empty-icon{justify-content:center;margin-bottom:4px;display:flex}.ct-skel-stack{flex-direction:column;gap:10px;display:flex}.ct-skel-block,.ct-skel-line,.ct-skel-card,.ct-skel-station-rail{background:linear-gradient(90deg,#eef2f7 0%,#f7fafc 45%,#eef2f7 90%) 0 0/200% 100%;border-radius:10px;animation:1.2s ease-in-out infinite ct-skel}.ct-skel-block{height:48px}.ct-skel-line{border-radius:6px;height:14px}.ct-skel-card{border-radius:12px;height:72px}.ct-skel-station-rail{border-radius:12px;height:58px}@keyframes ct-skel{0%{background-position:100% 0}to{background-position:-100% 0}}.ct-upload-bar{background:linear-gradient(90deg,#0000,#0e7c9a,#0000) 0 0/200% 100%;border-radius:2px;height:3px;margin:8px 0;animation:.9s linear infinite ct-skel}.req-task-filters{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px;padding:12px 14px;display:grid}.req-task-filter{flex-direction:column;gap:4px;min-width:0;display:flex}.req-task-filter span{color:var(--mut);font-size:11.5px;font-weight:800}.req-task-filter input,.req-task-filter select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px}.req-task-filter-range{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.req-filters-open{display:none}.req-filters-open.on{background:var(--navy);border-color:var(--navy);color:#fff}.req-filters-sheet{max-width:520px}.req-filters-sheet-foot{padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:#fff}.req-filters-sheet-foot .btn{width:100%}.dep-pick-group{margin-bottom:10px}.dep-pick-group-title{color:var(--navy2);border-bottom:1px dashed var(--line);margin:4px 0 6px;padding-bottom:4px;font-size:12px;font-weight:800}.req-dep-chip-station{opacity:.75;background:#ffffff8c;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:800}.req-discussion{flex-direction:column;gap:14px;display:flex}.req-comment-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.req-comment-bubble{border:1px solid var(--line);background:#f7fafc;border-radius:12px;padding:10px 12px}.req-comment-meta{justify-content:space-between;gap:8px;margin-bottom:4px;display:flex}.req-comment-meta b{color:var(--navy2);font-size:13px}.req-comment-meta small{color:var(--mut);font-size:11px}.req-comment-bubble p{white-space:pre-wrap;margin:0;font-size:14px;line-height:1.5}.req-comment-compose{flex-direction:column;gap:8px;display:flex}.req-comment-compose textarea{border:1px solid var(--line);resize:vertical;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px}.req-history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.req-history-item{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.req-history-type{color:var(--navy2);background:#eef3fa;border-radius:20px;flex:none;padding:3px 8px;font-size:11px;font-weight:800}.req-history-type.assign{color:#7a5800;background:#fcf1d6}.req-history-type.comment{color:#15673a;background:#eaf6ee}.req-history-body{flex-direction:column;gap:2px;min-width:0;display:flex}.req-history-body b{font-size:13.5px;font-weight:700}.req-history-body small{color:var(--mut);font-size:11px}.ct-inbox-wrap{flex-shrink:0;position:relative}.ct-bell-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;padding:0;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex;position:relative}.ct-bell-btn:hover{background:#ffffff24}.ct-bell-btn .ct-nav-ic{opacity:1;font-size:15px}.ct-bell-label{display:none}.ct-bell-badge,.ct-menu-badge{top:-4px;color:#fff;border:2px solid var(--navy);box-sizing:border-box;background:#c42b2b;border-radius:20px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:800;line-height:1;display:inline-flex;position:absolute;inset-inline-start:-4px}.ct-menu-btn{position:relative}.ct-menu-badge{top:2px;inset-inline-start:2px;left:auto}.ct-inbox-panel{top:calc(100% + 8px);border:1px solid var(--line);z-index:120;width:min(360px,92vw);max-height:min(70vh,520px);color:var(--ink);background:#fff;border-radius:14px;position:absolute;inset-inline-end:0;overflow:auto;box-shadow:0 12px 40px #0b25452e}.ct-inbox-head{border-bottom:1px solid var(--line);z-index:1;background:#fff;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex;position:sticky;top:0}.ct-inbox-head b{color:var(--navy);font-size:14px}.ct-inbox-list{margin:0;padding:0;list-style:none}.ct-inbox-item{border-bottom:1px solid #eef2f7;align-items:stretch;display:flex}.ct-inbox-item.unread{background:#f7fbff}.ct-inbox-main{text-align:right;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-width:0;padding:12px 14px;font-family:inherit;display:flex}.ct-inbox-main:hover{background:#f4f7fa}.ct-inbox-title{color:var(--ink);font-size:13.5px;font-weight:700}.ct-inbox-body{color:var(--mut);font-size:12.5px;line-height:1.4}.ct-inbox-main small{color:#8a97a8;font-size:11px}.ct-inbox-dismiss{color:var(--mut);cursor:pointer;background:0 0;border:0;padding:8px 12px;font-size:14px}.ct-inbox-dismiss:hover{color:#c42b2b}.ct-mobile-inbox{flex-direction:column;gap:8px;display:flex}.ct-mobile-inbox .ct-inbox-panel{width:100%;max-height:40vh;box-shadow:none;position:static;inset-inline-end:auto}@media (width<=900px){.req-task-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.ct-feedback-fab{display:none!important}.req-task-filters{grid-template-columns:1fr}.req-sticky-head{padding:0 0 10px}.req-sticky-head .req-main-actions{display:none}.req-mobile-toolbar{flex-direction:column;gap:10px;display:flex}.req-station-actions-menu{z-index:8;width:100%;padding:0;position:relative}.req-station-actions-open{justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}.req-station-actions-open.on{background:var(--navy);border-color:var(--navy);color:#fff}.req-station-actions-menu .req-card-menu-pop{width:100%;min-width:0;left:0;right:0}.req-multi-select-btn{display:none!important}.req-card-menu-pop button.req-menu-mobile-only{display:flex!important}.req-filters-open{justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}.req-task-filters-inline{display:none}.req-filters-modal{align-items:flex-end;height:100dvh;padding:0;overflow:hidden}.req-filters-modal .req-filters-sheet{border-radius:18px 18px 0 0;width:100%;height:auto;min-height:0;max-height:min(82dvh,680px);margin:auto 0 0;overflow:hidden}.req-filters-modal .sheet-head{padding:18px 16px 14px}.req-filters-modal .sheet-body{flex:none;max-height:calc(82dvh - 160px);padding:16px;overflow-y:auto}.req-task-filters-drawer{background:0 0;border:0;grid-template-columns:1fr;margin:0;padding:0}}.ct-root select{appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%230B2545' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1.5 1.8 6 6.2 10.5 1.8'/></svg>");background-position:10px;background-repeat:no-repeat;background-size:12px 8px;padding-inline:10px 32px;font-weight:400}.ct-root option{font-weight:400}body.report-overlay-open{overflow:hidden}.report-overlay{z-index:80;background:#fff;flex-direction:column;display:flex;position:fixed;inset:0}.report-overlay-bar{padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top,0px));background:var(--navy);flex:none;align-items:center;gap:8px;display:flex}.report-overlay-bar .btn{flex:1;min-width:0}.report-overlay-bar .btn.ghost{color:var(--navy);background:#fff;border-color:#fff}.report-overlay-bar .btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.report-overlay-frame{background:#fff;border:0;flex:1;width:100%;min-height:0}@media print{.report-overlay-bar{display:none}}
