:root{--app-primary: #1F57F5;--app-sky: #2BAFF2;--app-cyan: #00D0FF;--app-ink: #05090E;--app-white: #FFFFFF;--app-bg: #F7FAFF;--app-surface: #FFFFFF;--app-border: #E6ECF5;--app-text-primary: #05090E;--app-text-secondary: #64748B;--app-radius-sm: 8px;--app-radius-md: 12px;--app-radius-lg: 16px;--app-primary-soft: #EEF3FF;--app-sky-soft: #EAF7FE;--app-green: #16A34A;--app-green-soft: #E9F7EF;--app-amber: #B45309;--app-amber-soft: #FEF6E7;--app-red: #DC2626;--app-red-soft: #FDECEC;--app-gray-soft: #F1F5F9;--app-shadow-sm: 0 1px 2px rgba(5, 9, 14, .05);--app-shadow-md: 0 4px 14px -4px rgba(5, 9, 14, .08);--app-shadow-lg: 0 18px 44px -14px rgba(5, 9, 14, .18);--app-danger: #DC2626;--app-success: #16A34A;--font: "Inter", "Roboto", -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--app-bg);color:var(--app-text-primary);font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;line-height:1.3;letter-spacing:-.01em}p{margin:0}a{color:var(--app-primary);text-decoration:none}ul{margin:0;padding:0;list-style:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:2px solid var(--app-sky);outline-offset:1px}.muted{color:var(--app-text-secondary)}.small{font-size:12.5px}.xsmall{font-size:11.5px}.bold{font-weight:700}.nowrap{white-space:nowrap}.mono{font-family:ui-monospace,Cascadia Code,monospace;font-size:12px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt2{margin-top:8px}.mb2{margin-bottom:8px}.row{display:flex;align-items:center;gap:10px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.grow{flex:1;min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:var(--app-radius-md);padding:9px 16px;font-weight:600;font-size:13.5px;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--app-primary);color:#fff}.btn-primary:hover:not(:disabled){background:#1746d3}.btn-secondary{background:var(--app-white);border-color:var(--app-border);color:var(--app-text-primary)}.btn-secondary:hover:not(:disabled){border-color:#2baff28c;color:var(--app-primary)}.btn-ghost{background:transparent;color:var(--app-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--app-primary-soft);color:var(--app-primary)}.btn-danger{background:var(--app-white);border-color:#f5c9c9;color:var(--app-danger)}.btn-danger:hover:not(:disabled){background:var(--app-red-soft)}.btn-solid-danger{background:var(--app-danger);color:#fff}.btn-solid-danger:hover:not(:disabled){background:#b91c1c}.btn-sm{padding:6px 11px;font-size:12.5px;border-radius:var(--app-radius-sm)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--app-border);background:var(--app-white);color:var(--app-text-secondary);cursor:pointer;position:relative;transition:all .15s}.icon-btn:hover{color:var(--app-primary);border-color:#2baff28c}.icon-btn .dot{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--app-primary);color:#fff;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center}::-webkit-scrollbar{width:0;height:0}::-webkit-scrollbar-thumb,::-webkit-scrollbar-track{background:transparent}*{scrollbar-width:none;-ms-overflow-style:none}.shell{display:flex;min-height:100vh}.sidebar{width:264px;flex-shrink:0;background:var(--app-white);border-right:1px solid var(--app-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:40}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:18px 18px 14px}.sidebar-brand img{width:38px;height:38px}.sidebar-brand .brand-name{font-weight:800;font-size:15.5px;letter-spacing:-.02em;display:block}.sidebar-brand .brand-name .ext{color:var(--app-sky)}.sidebar-brand .brand-tag{font-size:9.5px;font-weight:700;letter-spacing:.14em;color:var(--app-text-secondary)}.sidebar-portal{margin:2px 18px 10px;padding:7px 12px;border-radius:10px;background:linear-gradient(135deg,#1f57f514,#00d0ff1a);border:1px solid rgba(31,87,245,.14);font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--app-primary);text-transform:uppercase}.sidebar-nav{flex:1;overflow-y:auto;padding:4px 10px 10px;scrollbar-width:none;-ms-overflow-style:none}.sidebar-nav::-webkit-scrollbar{width:0;height:0;display:none}.nav-section{margin-top:14px}.nav-section-label{font-size:10.5px;font-weight:700;letter-spacing:.12em;color:#94a3b8;text-transform:uppercase;padding:0 10px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:8.5px 10px;border-radius:10px;color:#334155;font-weight:600;font-size:13.5px;margin-bottom:2px;border:0;background:none;cursor:pointer;width:100%;text-align:left}.nav-item svg{flex-shrink:0;color:#7a8aa0;transition:color .15s}.nav-item:hover{background:#f5f8fe;color:var(--app-text-primary)}.nav-item:hover svg{color:var(--app-sky)}.nav-item.active{background:var(--app-primary);color:#fff}.nav-item.active svg{color:#ffffffd9}.sidebar-footer{border-top:1px solid var(--app-border);padding:12px}.sidebar-profile{display:flex;align-items:center;gap:10px;padding:6px 8px 10px}.sidebar-profile .who{min-width:0}.sidebar-profile .who b{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-profile .who span{font-size:11px;color:var(--app-text-secondary)}.sidebar-logout{width:100%;justify-content:center}.sidebar-collapse{position:absolute;top:24px;right:10px;width:22px;height:22px;border-radius:7px;border:1px solid var(--app-border);background:#fff;color:var(--app-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.sidebar-collapse:hover{color:var(--app-primary);border-color:#1f57f559}.sidebar-collapse:focus-visible{outline:2px solid var(--app-primary);outline-offset:2px}.sidebar.collapsed{width:72px}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:52px 8px 14px}.sidebar.collapsed .sidebar-collapse{left:50%;right:auto;margin-left:-11px}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-section-label,.sidebar.collapsed .nav-item .nav-label,.sidebar.collapsed .sidebar-profile .who,.sidebar.collapsed .sidebar-logout .btn-label{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:10px 0}.sidebar.collapsed .sidebar-nav{padding:4px 8px 10px}.main-col{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;padding:0 26px;height:62px;background:#ffffffe6;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border-bottom:1px solid var(--app-border)}.tb-burger{display:none}.tb-title-wrap{line-height:1.2}.tb-crumb{font-size:11px;color:var(--app-text-secondary);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tb-title{font-size:15.5px;font-weight:700}.tb-search{flex:1;max-width:420px;display:flex;align-items:center;gap:8px;background:#f4f8fd;border:1px solid var(--app-border);border-radius:10px;padding:8px 12px}.tb-search input{border:0;background:none;outline:none;width:100%;font-size:13px}.tb-search input::placeholder{color:#94a3b8}.tb-spacer{flex:1}.tb-actions{display:flex;align-items:center;gap:9px}.menu-anchor{position:relative}.dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:250px;z-index:60;background:var(--app-white);border:1px solid var(--app-border);border-radius:var(--app-radius-md);box-shadow:var(--app-shadow-lg);padding:8px;max-height:420px;overflow:auto}.dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px 10px;border-bottom:1px solid var(--app-border);margin-bottom:6px}.dropdown-item{display:flex;gap:10px;width:100%;text-align:left;padding:9px 10px;border-radius:9px;border:0;background:none;cursor:pointer;align-items:flex-start}.dropdown-item:hover{background:#f5f8fe}.dropdown-item .di-ico{width:30px;height:30px;border-radius:9px;background:var(--app-primary-soft);color:var(--app-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dropdown-item .di-main{font-size:13px;font-weight:600;line-height:1.35}.dropdown-item .di-sub{font-size:11.5px;color:var(--app-text-secondary);line-height:1.4;margin-top:1px}.dropdown-section-label{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8;padding:8px 10px 4px}.page{padding:24px 28px 48px;max-width:1340px;margin:0 auto;width:100%}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px;flex-wrap:wrap}.page-head h1{font-size:21px;font-weight:800;letter-spacing:-.02em}.page-head .sub{color:var(--app-text-secondary);font-size:13.5px;margin-top:4px;max-width:620px}.page-actions{display:flex;gap:9px;flex-wrap:wrap}.card{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-sm)}.card-pad{padding:18px 20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid var(--app-border)}.card-head h3{font-size:14.5px;font-weight:700}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.kpi{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--app-radius-lg);padding:14px 16px;display:block;box-shadow:var(--app-shadow-sm);transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--app-primary);opacity:0;transition:opacity .15s}.kpi:hover{border-color:#1f57f559;box-shadow:var(--app-shadow-md)}.kpi:hover:after{opacity:1}.kpi .kpi-ico{width:34px;height:34px;border-radius:10px;background:var(--app-primary-soft);color:var(--app-primary);display:flex;align-items:center;justify-content:center;margin-bottom:10px}.kpi .kpi-ico.sky{background:var(--app-sky-soft);color:#0e8dd9}.kpi .kpi-ico.green{background:var(--app-green-soft);color:var(--app-green)}.kpi .kpi-ico.amber{background:var(--app-amber-soft);color:var(--app-amber)}.kpi .kpi-ico.red{background:var(--app-red-soft);color:var(--app-red)}.kpi .kpi-ico.gray{background:var(--app-gray-soft);color:#64748b}.kpi .kpi-num{font-size:24px;font-weight:800;letter-spacing:-.03em;line-height:1.1}.kpi .kpi-label{font-size:12.5px;font-weight:600;color:var(--app-text-secondary);margin-top:3px}.kpi .kpi-info{font-size:11px;color:#94a3b8;margin-top:5px}.pill{display:inline-flex;align-items:center;gap:5px;padding:3.5px 10px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}.t-blue{background:var(--app-primary-soft);color:var(--app-primary)}.t-sky{background:var(--app-sky-soft);color:#0e8dd9}.t-green{background:var(--app-green-soft);color:var(--app-green)}.t-amber{background:var(--app-amber-soft);color:var(--app-amber)}.t-red{background:var(--app-red-soft);color:var(--app-red)}.t-gray{background:var(--app-gray-soft);color:#64748b}.t-cyan{background:#e5faff;color:#0797b8}.plain-pill{display:inline-flex;padding:3.5px 10px;border-radius:999px;font-size:11.5px;font-weight:700;background:var(--app-gray-soft);color:#475569}.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{padding:6px 13px;border-radius:999px;border:1px solid var(--app-border);background:var(--app-white);font-size:12.5px;font-weight:600;color:var(--app-text-secondary);cursor:pointer;transition:all .15s}.chip:hover{border-color:#1f57f566;color:var(--app-primary)}.chip.active{background:var(--app-primary);border-color:var(--app-primary);color:#fff}.tbl-wrap{overflow-x:auto;border-radius:var(--app-radius-lg)}table.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7c8ca5;padding:11px 14px;border-bottom:1px solid var(--app-border);background:#fafcff;white-space:nowrap}.tbl td{padding:12px 14px;border-bottom:1px solid #EEF2F8;vertical-align:middle}.tbl tbody tr{transition:background .12s}.tbl tbody tr:hover{background:#fafcff}.tbl tbody tr:last-child td{border-bottom:0}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.row-acts{display:flex;gap:6px;justify-content:flex-end}.field{display:block;margin-bottom:13px}.field>label{display:flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;margin-bottom:6px;color:#1e293b}.field .req{color:var(--app-danger);font-weight:700}.field .opt{color:#94a3b8;font-weight:500;font-size:11.5px}.input,.select,.textarea{width:100%;padding:9px 12px;border:1px solid var(--app-border);border-radius:var(--app-radius-sm);background:#fdfeff;font-size:13.5px;outline:none;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--app-primary);box-shadow:0 0 0 3px #1f57f521}.textarea{min-height:96px;resize:vertical}.input-err{border-color:var(--app-danger)!important;background:#fffbfb}.err-msg{color:var(--app-danger);font-size:11.5px;margin-top:4px;font-weight:500}.form-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 14px}.check-grid{display:flex;flex-wrap:wrap;gap:8px}.check-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--app-border);border-radius:999px;padding:6px 12px;font-size:12.5px;cursor:pointer;transition:all .15s}.check-chip input{accent-color:var(--app-primary)}.check-chip.on{border-color:#1f57f580;background:var(--app-primary-soft);color:var(--app-primary);font-weight:600}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#060c1a70;display:flex;align-items:flex-start;justify-content:center;padding:46px 18px;overflow-y:auto;animation:fadeIn .14s ease}.modal{background:var(--app-white);border-radius:var(--app-radius-lg);width:560px;max-width:100%;box-shadow:var(--app-shadow-lg);animation:popIn .16s ease}.modal-lg{width:720px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--app-border)}.modal-head h3{font-size:15.5px;font-weight:700}.modal-body{padding:20px 22px;max-height:calc(100vh - 220px);overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:9px;padding:14px 22px;border-top:1px solid var(--app-border);background:#fafcff;border-radius:0 0 var(--app-radius-lg) var(--app-radius-lg)}@keyframes popIn{0%{transform:translateY(8px) scale(.985);opacity:0}to{transform:none;opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.avatar{width:34px;height:34px;border-radius:10px;background:var(--app-primary-soft);color:var(--app-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12.5px;flex-shrink:0}.avatar.sm{width:28px;height:28px;font-size:11px;border-radius:9px}.bar{height:6px;border-radius:999px;background:#e9eff8;overflow:hidden;min-width:70px}.bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--app-primary),var(--app-sky))}.progress-cell{display:flex;align-items:center;gap:9px}.progress-cell b{font-size:12px;width:34px}.empty{padding:44px 20px;text-align:center;color:var(--app-text-secondary)}.empty .e-ico{width:48px;height:48px;margin:0 auto 12px;border-radius:14px;background:var(--app-primary-soft);color:var(--app-primary);display:flex;align-items:center;justify-content:center}.empty h4{color:var(--app-text-primary);font-size:15px;margin-bottom:4px}.empty p{font-size:13px;max-width:400px;margin:0 auto 14px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner-wrap{display:flex;align-items:center;justify-content:center;padding:60px 0;color:var(--app-primary);gap:10px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--app-border);margin-bottom:18px;overflow-x:auto}.tab{padding:9px 15px;border:0;background:none;cursor:pointer;font-weight:600;font-size:13.5px;color:var(--app-text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab:hover{color:var(--app-primary)}.tab.active{color:var(--app-primary);border-bottom-color:var(--app-primary)}.list-item{display:flex;gap:12px;padding:12px 20px;border-bottom:1px solid #EEF2F8;align-items:flex-start}.list-item:last-child{border-bottom:0}.toasts{position:fixed;top:16px;right:16px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{background:#0b1526;color:#fff;padding:10px 16px;border-radius:11px;font-size:13px;font-weight:500;box-shadow:var(--app-shadow-lg);display:flex;align-items:center;gap:9px;animation:popIn .18s ease;max-width:380px}.toast.success{background:#0e3d24}.toast.error{background:#46120f}.lg-page{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden;background:radial-gradient(900px 340px at -8% -12%,rgba(31,87,245,.1),transparent 62%),radial-gradient(760px 320px at 4% 112%,rgba(31,87,245,.09),transparent 62%),linear-gradient(180deg,#f6f9ff,#fff 55%)}.lg-page:before{content:"";position:absolute;left:-260px;top:-250px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle at 38% 38%,rgba(31,87,245,.13),rgba(56,131,255,.04) 58%,transparent 72%);pointer-events:none}.lg-page:after{content:"";position:absolute;left:-250px;bottom:-310px;width:760px;height:580px;border-radius:50%;transform:rotate(-12deg);background:radial-gradient(closest-side at 46% 46%,rgba(31,87,245,.09),rgba(43,175,242,.04) 68%,transparent 100%);pointer-events:none}.lg-top{display:flex;align-items:flex-start;justify-content:space-between;padding:26px 34px 0;position:relative;z-index:2}.lg-tagline{font-size:15px;font-weight:600;color:var(--app-text-secondary);letter-spacing:.01em;padding-top:8px}.lg-tagline b{color:var(--app-primary);font-weight:800}.lg-badge{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid var(--app-border);box-shadow:var(--app-shadow-sm);font-size:12.5px;font-weight:700;color:var(--app-primary);white-space:nowrap}.lg-main{flex:1;display:flex;align-items:stretch;justify-content:center;gap:40px;padding:12px 34px 20px;position:relative;z-index:2}.lg-features{display:flex;flex-direction:column;justify-content:center;gap:36px;width:320px;flex:none}.lg-feature{display:flex;gap:16px;align-items:flex-start}.lg-ico{width:60px;height:60px;border-radius:16px;flex:none;background:#eaf2ff;border:1px solid rgba(31,87,245,.1);color:var(--app-primary);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px #1f57f514}.lg-feature h3{font-size:15px;font-weight:800;margin:4px 0 5px;letter-spacing:-.01em;color:var(--app-ink)}.lg-feature p{margin:0;font-size:13px;line-height:1.55;color:#5b6b8c}.lg-center{display:flex;flex-direction:column;align-items:center;justify-content:center;width:532px;flex:none}.lg-brand{text-align:center;margin-bottom:24px}.lg-brand img{width:96px;height:96px;border-radius:22px;background:#fff;padding:8px;margin-bottom:12px;box-shadow:0 12px 28px #1f57f529}.lg-brand-name{font-size:21px;font-weight:800;letter-spacing:-.02em;color:var(--app-ink)}.lg-brand-name span{color:var(--app-primary)}.lg-brand-portal{margin-top:6px;font-size:11px;font-weight:800;letter-spacing:.35em;text-transform:uppercase;color:var(--app-text-secondary)}.lg-card{width:100%;background:#fff;border:1px solid rgba(31,87,245,.16);border-radius:24px;box-shadow:0 20px 55px -20px #0f286929;padding:40px 44px 30px}.lg-head{text-align:center;margin-bottom:28px}.lg-eyebrow{font-size:11px;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:var(--app-primary)}.lg-title{font-size:38px;font-weight:800;letter-spacing:-.03em;margin:10px 0 12px;color:#0a1220}.lg-sub{margin:0 auto;max-width:380px;font-size:16.5px;line-height:1.55;color:#5b6b8c}.lg-checking{font-size:12px;color:var(--app-text-secondary);margin-bottom:12px}.lg-field{position:relative;display:flex;align-items:center;height:58px;margin-bottom:16px;border:1px solid rgba(31,87,245,.18);border-radius:14px;background:#fbfcff;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.lg-field:focus-within{border-color:var(--app-primary);background:#fff;box-shadow:0 0 0 3px #1f57f51a}.lg-field.err{border-color:#e5484d}.lg-field-ico{display:flex;width:48px;justify-content:center;color:var(--app-primary);flex:none}.lg-field input{flex:1;margin-top:1px;height:100%;border:0;background:transparent;font-size:15px;color:var(--app-ink);padding-right:46px;outline:none}.lg-field input::placeholder{color:#9aa7bd}.lg-eye{position:absolute;right:8px;width:40px;height:40px;border:0;border-radius:10px;background:transparent;display:flex;align-items:center;justify-content:center;color:var(--app-text-secondary);cursor:pointer;transition:color .15s ease,background .15s ease}.lg-eye:hover{background:#1f57f514;color:var(--app-primary)}.lg-eye:focus-visible{outline:2px solid var(--app-primary);outline-offset:1px}.lg-row{display:flex;align-items:center;justify-content:space-between;margin:4px 2px 20px;font-size:13.5px}.lg-remember{display:inline-flex;align-items:center;gap:8px;color:#3d4b63;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.lg-remember input{width:16px;height:16px;accent-color:var(--app-primary);cursor:pointer}.lg-forgot{border:0;background:none;padding:2px 0;color:var(--app-primary);font-weight:600;cursor:pointer}.lg-forgot:hover{text-decoration:underline}.lg-forgot:focus-visible,.lg-btn:focus-visible{outline:2px solid #1F57F5;outline-offset:2px}.lg-btn{width:100%;height:56px;border:0;border-radius:16px;cursor:pointer;background:#1f57f5;color:#fff;font-size:16px;font-weight:700;letter-spacing:.01em;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 12px 26px -10px #1f57f58c}.lg-btn:hover:not(:disabled){background:#184ad9}.lg-btn:disabled{opacity:.75;cursor:not-allowed}.lg-spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:lgspin .7s linear infinite}@keyframes lgspin{to{transform:rotate(1turn)}}.lg-note{display:flex;gap:8px;align-items:flex-start;justify-content:center;text-align:left;max-width:420px;margin:26px auto 0;padding-top:16px;border-top:1px dashed rgba(31,87,245,.12);font-size:12px;line-height:1.55;color:#5b6b8c}.lg-note svg{flex:none;color:var(--app-primary);margin-top:2px}.lg-err{display:flex;gap:9px;align-items:flex-start;margin-bottom:13px;background:var(--app-red-soft, #FDF1F1);border:1px solid #F3C2C4;color:#8a1f1f;border-radius:11px;padding:10px 12px;font-size:12.5px;line-height:1.5}.lg-err svg{flex:none;margin-top:2px}.lg-side{display:flex;align-items:center;justify-content:center;width:470px;flex:none}.lg-side img{width:100%;max-width:470px;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 22px 32px rgba(31,87,245,.06))}.lg-foot{position:relative;z-index:2;padding:0 34px 20px;font-size:12px;color:#8291a9}.lg-modal-note{background:var(--app-blue-soft, #EEF4FF);border:1px solid rgba(31,87,245,.22);color:var(--app-ink);border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.55}.lg-modal-ok{display:flex;gap:9px;align-items:flex-start;background:#eaf7ef;border:1px solid #BFE5CC;color:#1c5e33;border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.55}.lg-modal-ok svg{flex:none;margin-top:2px}@media(max-width:1280px){.lg-main{gap:26px}.lg-side{width:360px}.lg-side img{max-width:360px}.lg-features{width:280px}.lg-center{width:480px}}@media(max-width:1100px){.lg-side{display:none}}@media(max-width:880px){.lg-features{display:none}.lg-center{width:100%;max-width:480px}.lg-top{padding:18px 20px 0}.lg-tagline{font-size:13px}.lg-main{padding:8px 20px 14px}.lg-foot{padding:0 20px 16px;text-align:center}.lg-brand img{width:72px;height:72px;border-radius:18px}.lg-card{padding:26px 22px 22px;border-radius:20px}.lg-title{font-size:30px}.lg-sub{font-size:15px}.lg-head{margin-bottom:22px}}@media(prefers-reduced-motion:reduce){.lg-spin{animation:none!important}}.chat-grid{display:grid;grid-template-columns:300px 1fr;border:1px solid var(--app-border);border-radius:var(--app-radius-lg);background:#fff;overflow:hidden;height:calc(100vh - 170px);min-height:480px}.chat-list{border-right:1px solid var(--app-border);overflow-y:auto}.chat-row{display:flex;gap:10px;padding:12px 14px;cursor:pointer;border-bottom:1px solid #EEF2F8;align-items:center}.chat-row:hover{background:#f8fafe}.chat-row.active{background:var(--app-primary-soft)}.chat-row .cr-name{font-weight:700;font-size:13px}.chat-row .cr-last{font-size:11.5px;color:var(--app-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.chat-row .cr-unread{margin-left:auto;background:var(--app-primary);color:#fff;min-width:19px;height:19px;border-radius:10px;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px}.chat-thread{display:flex;flex-direction:column;min-width:0}.chat-thread-head{padding:13px 18px;border-bottom:1px solid var(--app-border);display:flex;justify-content:space-between;align-items:center;gap:10px}.chat-msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:10px;background:#fafcff}.bubble{max-width:72%;padding:9px 13px;border-radius:14px;font-size:13.5px;line-height:1.45}.bubble .b-meta{font-size:10.5px;opacity:.65;margin-top:3px}.bubble.mine{align-self:flex-end;background:var(--app-primary);color:#fff;border-bottom-right-radius:5px}.bubble.theirs{align-self:flex-start;background:#fff;border:1px solid var(--app-border);border-bottom-left-radius:5px}.chat-compose{display:flex;gap:9px;padding:13px 16px;border-top:1px solid var(--app-border);background:#fff}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:4px}.kv{display:grid;grid-template-columns:130px 1fr;gap:9px 14px;font-size:13.5px}.kv dt{color:var(--app-text-secondary);font-weight:500}.kv dd{margin:0;font-weight:600;color:var(--app-text-primary)}.divider{height:1px;background:var(--app-border);border:0;margin:16px 0}.update-card{border-left:3px solid var(--app-primary)}.update-card.blocked{border-left-color:var(--app-danger)}.dist-row{display:grid;grid-template-columns:130px 1fr 44px;align-items:center;gap:12px;margin-bottom:9px;font-size:13px}.dist-row .bar{height:9px}.btn .spin{margin-right:-2px}@media(max-width:1280px){.kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:1080px){.sidebar{width:72px}.sidebar-brand .brand-text,.sidebar-portal,.nav-section-label,.nav-item .nav-label,.sidebar-profile .who,.sidebar-logout .btn-label{display:none}.nav-item{justify-content:center;padding:10px 0}.nav-item svg{margin:0}.nav-section{margin-top:6px}.nav-item{position:relative}.page{padding:20px 18px 40px}.grid3,.grid4{grid-template-columns:1fr 1fr}}@media(max-width:900px){.sidebar{position:fixed;left:0;top:0;transform:translate(-102%);transition:transform .22s ease;box-shadow:var(--app-shadow-lg)}.sidebar.open{transform:none}.sidebar.open .brand-text,.sidebar.open .sidebar-portal,.sidebar.open .nav-section-label,.sidebar.open .nav-label,.sidebar.open .who,.sidebar.open .btn-label{display:block}.sidebar.open .nav-item{justify-content:flex-start;padding:8.5px 10px}.side-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#060c1a66;z-index:39}.tb-burger{display:inline-flex}.topbar{padding:0 14px;gap:9px}.tb-crumb,.tb-search{display:none}.chat-grid{grid-template-columns:260px 1fr;height:calc(100vh - 150px)}}@media(max-width:720px){.kpis{grid-template-columns:repeat(2,1fr)}.grid2,.grid3,.grid4{grid-template-columns:1fr}.form-grid2,.form-grid3{grid-template-columns:1fr;gap:0}.page{padding:16px 12px 40px}.tm-hide{display:none}.chat-grid{grid-template-columns:1fr;height:auto}.chat-list{border-right:0;border-bottom:1px solid var(--app-border);max-height:240px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:7px;background:var(--app-bg-card, #fff);border:1px solid var(--app-border);border-radius:9px;padding:0 11px;height:36px;min-width:250px;flex:0 1 320px;color:var(--app-text-secondary)}.search-box input{border:0;outline:0;background:none;font:inherit;font-size:12.5px;color:var(--app-text);width:100%}.stack{display:flex;flex-direction:column;gap:2px;min-width:0}.sep{width:1px;height:20px;background:var(--app-border)}.button-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mt3{margin-top:12px}.mt4{margin-top:16px}.mt5{margin-top:22px}.mb3{margin-bottom:12px}.mb4{margin-bottom:16px}.mb5{margin-bottom:22px}.ml2{margin-left:8px}.link-btn{background:none;border:0;padding:0;font:inherit;font-size:12.8px;font-weight:700;color:var(--app-text);cursor:pointer;text-align:left}.link-btn:hover{color:var(--app-primary);text-decoration:underline}.tb-title-wrap{line-height:1.25}.tb-title-wrap .tb-title{font-size:14.5px;font-weight:800;color:var(--app-text)}.brand-name{font-weight:800;letter-spacing:-.2px}.brand-name .ext{color:var(--app-cyan)}.brand-tag{font-size:8.5px;font-weight:800;letter-spacing:1.6px;color:var(--app-text-tertiary)}.sidebar-profile .who{display:flex;flex-direction:column;line-height:1.3}.sidebar-profile .who b{font-size:12px}.sidebar-profile .who span{font-size:9.5px;color:var(--app-text-tertiary)}.icon-btn{position:relative}.icon-btn.danger{color:var(--app-danger)}.icon-btn:hover.danger{background:#d83a3a17}.dot{position:absolute;top:-3px;right:-4px;min-width:15px;height:15px;border-radius:8px;background:var(--app-danger);color:#fff;font-size:8.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;padding:0 3px}.route-top{display:flex;align-items:flex-start;gap:12px}.route-top .page-head-title{font-size:19px;font-weight:800;letter-spacing:-.3px;display:flex;align-items:center;gap:10px}.proj-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:14px}.proj-card{background:var(--app-bg-card, #fff);border:1px solid var(--app-border);border-radius:14px;padding:16px 16px 14px;display:flex;flex-direction:column;transition:box-shadow .18s ease,transform .18s ease}.proj-card:hover{box-shadow:var(--app-shadow-lg);transform:translateY(-1px)}.pc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.pc-actions{display:flex;gap:2px}.pc-name{font-size:14.5px;font-weight:800;color:var(--app-text);letter-spacing:-.2px;line-height:1.35;display:inline-flex;align-items:center;gap:4px}.pc-name:hover{color:var(--app-primary)}.pc-meta{display:grid;grid-template-columns:1.2fr .8fr .9fr;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--app-border)}.pc-meta div{display:flex;flex-direction:column;gap:2px;min-width:0}.wu-tier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.wu-tier{background:var(--app-bg-card, #fff);border:1px solid var(--app-border);border-radius:12px;padding:12px;min-height:180px}.wu-tier-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px}.wu-empty{color:var(--app-text-tertiary);font-size:12px;padding:18px 0;text-align:center}.wu-more{background:none;border:0;color:var(--app-primary);font:inherit;font-size:11px;font-weight:700;padding:6px 0 2px;cursor:pointer;width:100%;text-align:left}.wu-mini{display:flex;flex-direction:column;gap:1px;background:none;border:0;border-top:1px dashed var(--app-border);padding:7px 0;font:inherit;cursor:pointer;text-align:left;width:100%}.wu-mini:first-of-type{border-top:0}.wu-mini-name{font-size:11px;font-weight:750;color:var(--app-text)}.wu-mini-text{font-size:10.5px;color:var(--app-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wu-row{display:flex;gap:12px;padding:13px 4px;border-bottom:1px solid var(--app-border);align-items:flex-start}.wu-row:last-child{border-bottom:0}.wu-note{margin-top:8px;padding:7px 10px;border:1px solid var(--app-amber-soft);border-radius:8px;font-size:11px;color:var(--app-text-secondary);background:#e69b190d}.wu-section{margin-top:12px;padding:10px 12px;background:#1f57f509;border:1px solid var(--app-border);border-radius:10px}.wu-section b{display:block;margin-bottom:4px}.tuple-rows{display:flex;flex-direction:column;gap:12px}.tuple{display:grid;grid-template-columns:150px 1fr;gap:14px;background:var(--app-bg-card, #fff);border:1px solid var(--app-border);border-radius:12px;padding:14px}.tuple-when{border-right:1px dashed var(--app-border);padding-right:12px;display:flex;flex-direction:column;gap:4px}.tuple-date{font-weight:800;font-size:12.5px}.tuple-time{font-size:11.5px;color:var(--app-text-secondary)}.tuple-body{min-width:0}@media(max-width:720px){.tuple{grid-template-columns:1fr}.tuple-when{border-right:0;border-bottom:1px dashed var(--app-border);padding:0 0 10px}}.member-picker{display:flex;flex-wrap:wrap;gap:8px}.member-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--app-border);border-radius:10px;padding:7px 12px 7px 8px;cursor:pointer;background:var(--app-bg-card, #fff);transition:border-color .15s ease,background .15s ease}.member-chip input[type=checkbox]{accent-color:var(--app-primary);margin:0}.member-chip.active{border-color:var(--app-primary);background:var(--app-blue-soft)}.member-chip.static{cursor:default}.timeline{position:relative}.timeline-item{position:relative;display:flex;gap:12px;padding:12px 0 12px 26px;border-bottom:1px dashed var(--app-border)}.timeline-item:last-child{border-bottom:0}.timeline-item:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--app-border)}.timeline-dot{position:absolute;left:2px;top:18px;width:12px;height:12px;border-radius:7px;background:var(--app-blue-soft);border:2.5px solid var(--app-primary)}.timeline-body{min-width:0;flex:1}.file-badge{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:30px;padding:0 7px;border-radius:7px;background:var(--app-blue-soft);color:var(--app-primary);font-size:9.5px;font-weight:800;letter-spacing:.4px}.chat-item{display:flex;gap:10px;width:100%;padding:10px 12px;background:none;border:0;border-bottom:1px solid var(--app-border);cursor:pointer;text-align:left;font:inherit;align-items:center}.chat-item:hover{background:#1f57f50a}.chat-item.active{background:var(--app-blue-soft)}.chat-item-side{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.ci-kind{display:block;font-size:9.5px;color:var(--app-text-tertiary)}.ci-last{display:block;font-size:11px;color:var(--app-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.ci-time{font-size:9.5px;color:var(--app-text-tertiary)}.chat-list-head{padding-bottom:12px;border-bottom:1px solid var(--app-border);margin-bottom:10px}.chat-scroll{flex:1;overflow-y:auto;padding:10px 4px 6px;min-height:260px;max-height:420px;display:flex;flex-direction:column;gap:10px}.chat-thread{display:flex;flex-direction:column;height:100%}.chat-thread.compact .chat-scroll{max-height:330px;min-height:240px}.chat-msg{display:flex}.chat-msg.mine{justify-content:flex-end}.chat-bubble{max-width:78%;border-radius:12px;padding:8px 12px 9px;background:#1f57f50d;border:1px solid var(--app-border)}.chat-msg.mine .chat-bubble{background:var(--app-blue-soft);border-color:#1f57f547}.chat-meta{display:flex;gap:8px;align-items:baseline;margin-bottom:3px}.chat-author{font-size:10.5px;font-weight:800}.chat-time{font-size:9px;color:var(--app-text-tertiary)}.chat-body{font-size:12.3px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.chat-composer{display:flex;gap:8px;padding-top:10px;border-top:1px solid var(--app-border)}.chat-composer .input{flex:1}.chat-empty{padding:30px 10px;text-align:center;color:var(--app-text-tertiary);font-size:12px}@media(max-width:720px){.chat-item{padding:8px}.ci-last{max-width:130px}.chat-scroll{max-height:380px}}.widget-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.widget{background:#1f57f509;border:1px solid var(--app-border);border-radius:10px;padding:10px 12px;min-width:0}.stat-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.callout{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:10px;border:1px solid var(--app-border);background:#1f57f509}.callout.green{border-color:#1b8c5a2e;background:#1b8c5a0d}.callout.amber{border-color:#e69b1933;background:#e69b190d}.callout.red{border-color:#d83a3a29;background:#d83a3a0b}.card-pad .callout+.callout{margin-top:10px}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.team-card{display:flex;align-items:center;gap:10px;border:1px solid var(--app-border);border-radius:10px;padding:10px 12px;background:var(--app-bg-card, #fff)}.client-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.client-card{background:var(--app-bg-card, #fff);border:1px solid var(--app-border);border-radius:14px;padding:15px;display:flex;flex-direction:column;gap:10px}.cc-head{display:flex;align-items:center;gap:10px}.cc-logo{width:38px;height:38px;border-radius:10px;background:var(--app-blue-soft);color:var(--app-primary);font-weight:800;font-size:13px;display:inline-flex;align-items:center;justify-content:center;flex:none}.cc-actions{display:flex;gap:2px}.cc-rows{display:flex;flex-direction:column;gap:4px}.cc-row{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--app-text-secondary);text-decoration:none}.cc-row:hover{color:var(--app-primary)}.cc-notes{font-size:11.5px;color:var(--app-text-secondary);background:#1f57f508;border:1px dashed var(--app-border);border-radius:9px;padding:8px 10px;min-height:34px}.cc-projects{display:flex;flex-direction:column;gap:2px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-col{display:flex;flex-direction:column;gap:0}@media(max-width:720px){.form-grid-2,.form-row-2{grid-template-columns:1fr}}.card-tbl{width:100%;background:var(--app-bg-card, #fff);border:1px solid var(--app-border);border-radius:12px;overflow:hidden}.card-tbl th{background:#1f57f50b}.num{text-align:right;font-variant-numeric:tabular-nums}.row-selected{background:#1f57f50d}.list-list{display:flex;flex-direction:column}.list-list .list-item{border-bottom:1px dashed var(--app-border)}.list-list .list-item:last-child{border-bottom:0}.chat-main{display:flex;flex-direction:column;min-width:0}.pill-sky{background:#2baff224;color:#0f83bd;border-color:#2baff24d}.hide-mobile{display:none}@media(min-width:721px){.hide-mobile{display:block}.show-mobile{display:none}}@media(max-width:720px){.hide-mobile{display:none!important}.show-mobile{display:inline-flex}}.secureid-camera-box{position:relative;width:100%;max-width:480px;height:360px;margin:0 auto;border-radius:16px;overflow:hidden;background:#05090e;box-shadow:0 12px 30px #05090e40;display:flex;align-items:center;justify-content:center}.secureid-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.secureid-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center}.secureid-target-oval{width:220px;height:280px;border:2px dashed rgba(0,208,255,.6);border-radius:50%;transition:all .3s ease;position:relative}.secureid-target-oval.detected{border:2.5px solid #16a34a;box-shadow:0 0 20px #16a34a66}.secureid-target-oval.scanning{border:2.5px solid #2baff2;box-shadow:0 0 25px #2baff280}.secureid-scan-line{position:absolute;top:0;left:10%;right:10%;height:3px;background:linear-gradient(90deg,transparent,#00d0ff,#2baff2,transparent);box-shadow:0 0 10px #00d0ff;animation:scanSweep 2s ease-in-out infinite alternate}@keyframes scanSweep{0%{top:15%;opacity:.3}to{top:85%;opacity:1}}.secureid-prompt-pill{position:absolute;bottom:18px;background:#05090ed9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;padding:8px 18px;border-radius:24px;font-size:13px;font-weight:600;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #0000004d}.secureid-prompt-pill.warning{border-color:#f59e0b;color:#fef3c7}.secureid-prompt-pill.success{border-color:#16a34a;color:#dcfce7}.secureid-challenge-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px;margin-top:14px;text-align:center}.secureid-challenge-step{font-size:14px;font-weight:700;color:#1f57f5;display:flex;align-items:center;justify-content:center;gap:8px}.secureid-otp-grid{display:flex;justify-content:center;gap:10px;margin:20px 0}.secureid-otp-box{width:48px;height:56px;font-size:24px;font-weight:800;text-align:center;border:2px solid #cbd5e1;border-radius:10px;background:#fff;color:#05090e;outline:none;transition:all .2s}.secureid-otp-box:focus{border-color:#1f57f5;box-shadow:0 0 0 3px #1f57f526}.secureid-consent-box{max-height:180px;overflow-y:auto;padding:12px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;line-height:1.5;color:#475569;margin-bottom:14px}.pd-page{display:flex;flex-direction:column;gap:20px;width:100%;max-width:1440px;margin:0 auto}.pd-header{background:#fff;border:1px solid #E6EDF7;border-radius:16px;padding:22px 24px;box-shadow:0 1px 3px #05090e0a;display:flex;flex-direction:column;gap:16px}.pd-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.pd-header-identity{display:flex;align-items:flex-start;gap:14px;flex:1;min-width:280px}.pd-back-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#f6f9ff;border:1px solid #E6EDF7;color:#64748b;cursor:pointer;transition:all .15s ease;flex-shrink:0}.pd-back-btn:hover{background:#eef3ff;color:#1f57f5;border-color:#2baff2}.pd-title-cluster{display:flex;flex-direction:column;gap:6px;min-width:0}.pd-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pd-project-name{font-size:22px;font-weight:800;color:#05090e;letter-spacing:-.02em;line-height:1.25;margin:0}.pd-subtitle-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b;flex-wrap:wrap}.pd-meta-bullet{color:#cbd5e1}.pd-deadline-chip{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:12px;padding:2px 8px;border-radius:6px;background:#f1f5f9;color:#475569}.pd-deadline-chip.overdue{background:#fdecec;color:#dc2626;border:1px solid rgba(220,38,38,.2)}.pd-deadline-chip.due-soon{background:#fef6e7;color:#b45309;border:1px solid rgba(180,83,9,.2)}.pd-deadline-chip.due-ok{background:#e9f7ef;color:#16a34a;border:1px solid rgba(22,163,74,.2)}.pd-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pd-header-substrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding-top:14px;border-top:1px solid #F1F5F9}.pd-substrip-item{display:flex;align-items:center;gap:10px;min-width:0}.pd-substrip-ico{width:32px;height:32px;border-radius:8px;background:#f6f9ff;border:1px solid #E6EDF7;color:#1f57f5;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pd-substrip-body{display:flex;flex-direction:column;line-height:1.25;min-width:0}.pd-substrip-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;font-weight:700}.pd-substrip-val{font-size:13px;font-weight:600;color:#101828;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-avatar-stack{display:inline-flex;align-items:center}.pd-avatar-stack .avatar{border:2px solid #FFFFFF;margin-left:-8px}.pd-avatar-stack .avatar:first-child{margin-left:0}.pd-avatar-more{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;background:#f1f5f9;border:2px solid #FFFFFF;margin-left:-8px;font-size:10px;font-weight:700;color:#475569}.pd-tabs-bar{display:flex;align-items:center;gap:4px;border-bottom:1px solid #E6EDF7;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-bottom:2px}.pd-tabs-bar::-webkit-scrollbar{display:none}.pd-tab-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:none;background:transparent;cursor:pointer;font-size:13.5px;font-weight:600;color:#64748b;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:all .15s ease;border-radius:6px 6px 0 0}.pd-tab-btn:hover{color:#1f57f5;background:#f6f9ff}.pd-tab-btn.active{color:#1f57f5;border-bottom-color:#1f57f5;font-weight:700;background:transparent}.pd-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:700;background:#f1f5f9;color:#64748b}.pd-tab-btn.active .pd-tab-badge{background:#eef3ff;color:#1f57f5}.pd-overview-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:20px;align-items:start}@media(max-width:1040px){.pd-overview-grid{grid-template-columns:1fr}}.pd-col-main,.pd-col-side{display:flex;flex-direction:column;gap:20px;min-width:0}.pd-card{background:#fff;border:1px solid #E6EDF7;border-radius:14px;box-shadow:0 1px 3px #05090e08;overflow:hidden}.pd-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #F1F5F9;gap:12px}.pd-card-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:#05090e;margin:0}.pd-card-title svg{color:#1f57f5}.pd-card-body{padding:20px}.pd-description-box{background:#fbfdff;border:1px solid #EDF2F9;border-radius:10px;padding:16px 18px;position:relative;transition:max-height .25s ease}.pd-description-box.collapsed{max-height:240px;overflow:hidden}.pd-description-box.collapsed:after{content:"";position:absolute;inset:auto 0 0 0;height:70px;background:linear-gradient(to bottom,#fbfdff00,#fbfdff);pointer-events:none}.pd-desc-content{font-size:13.5px;color:#334155;line-height:1.65;white-space:pre-wrap;word-break:break-word;font-family:inherit;margin:0}.pd-desc-toggle-btn{display:inline-flex;align-items:center;gap:4px;margin-top:10px;background:none;border:none;color:#1f57f5;font-weight:700;font-size:12.5px;cursor:pointer;padding:4px 0}.pd-desc-toggle-btn:hover{text-decoration:underline}.pd-meta-chips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:16px}.pd-meta-chip{background:#f8fafc;border:1px solid #E6EDF7;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;min-width:0}.pd-meta-chip .lbl{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.pd-meta-chip .val{font-size:13px;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-kpi-2x2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pd-metric-card{background:#fff;border:1px solid #E6EDF7;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 2px #05090e05;transition:transform .15s,border-color .15s}.pd-metric-card:hover{border-color:#2baff2;transform:translateY(-1px)}.pd-metric-header{display:flex;align-items:center;justify-content:space-between}.pd-metric-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#64748b}.pd-metric-val{font-size:20px;font-weight:800;color:#05090e;letter-spacing:-.02em}.pd-metric-sub{font-size:11.5px;color:#94a3b8}.pd-health-callout{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid transparent;margin-top:14px}.pd-health-callout.on-track{background:#e9f7ef;border-color:#16a34a40;color:#14532d}.pd-health-callout.at-risk{background:#fef6e7;border-color:#b4530940;color:#78350f}.pd-health-callout.delayed{background:#fdecec;border-color:#dc262640;color:#7f1d1d}.pd-health-body b{display:block;font-size:13.5px;margin-bottom:2px}.pd-health-body span{font-size:12px;line-height:1.45;opacity:.9}.pd-tasks-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;padding:12px;background:#f8fafc;border-radius:10px;border:1px solid #E6EDF7}.pd-tb-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.pd-tb-num{font-size:16px;font-weight:800;color:#05090e}.pd-tb-lbl{font-size:11px;font-weight:600;color:#64748b}.pd-table-wrap{overflow-x:auto;border:1px solid #E6EDF7;border-radius:10px}.pd-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.pd-table th{background:#f8fafc;color:#64748b;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:10px 14px;border-bottom:1px solid #E6EDF7;white-space:nowrap}.pd-table td{padding:12px 14px;border-bottom:1px solid #F1F5F9;color:#1e293b;vertical-align:middle}.pd-table tr:last-child td{border-bottom:none}.pd-table tr:hover td{background:#f8fafc}.pd-task-cell{display:flex;flex-direction:column;gap:2px}.pd-task-title-btn{background:none;border:none;padding:0;font-size:13.5px;font-weight:600;color:#0f172a;text-align:left;cursor:pointer;transition:color .15s}.pd-task-title-btn:hover{color:#1f57f5;text-decoration:underline}.pd-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.pd-filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pd-search-input{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #E6EDF7;border-radius:8px;padding:0 12px;height:38px;min-width:220px;color:#64748b;transition:border-color .15s,box-shadow .15s}.pd-search-input:focus-within{border-color:#1f57f5;box-shadow:0 0 0 3px #1f57f51f}.pd-search-input input{border:none;outline:none;background:transparent;width:100%;font-size:13px;color:#0f172a}.pd-select-filter{height:38px;border-radius:8px;border:1px solid #E6EDF7;background:#fff;padding:0 10px;font-size:12.5px;font-weight:600;color:#475569;outline:none;cursor:pointer}.pd-select-filter:focus{border-color:#1f57f5}.pd-pills-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.pd-pill-filter{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid #E6EDF7;background:#fff;color:#64748b;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s ease}.pd-pill-filter:hover{border-color:#2baff2;color:#1f57f5}.pd-pill-filter.active{background:#eef3ff;border-color:#1f57f5;color:#1f57f5}.pd-pill-cnt{font-size:11px;font-weight:700;padding:1px 6px;border-radius:999px;background:#f1f5f9;color:#475569}.pd-pill-filter.active .pd-pill-cnt{background:#1f57f5;color:#fff}.pd-update-card{background:#fff;border:1px solid #E6EDF7;border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .15s}.pd-update-card:hover{box-shadow:0 2px 8px #05090e0a}.pd-update-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pd-update-author{display:flex;align-items:center;gap:10px}.pd-update-blocker{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border-radius:8px;background:#fdecec;border:1px solid rgba(220,38,38,.2);color:#991b1b;font-size:12.5px}.pd-repo-card{background:linear-gradient(135deg,#fff,#f9fbff);border:1px solid #E6EDF7;border-radius:14px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.pd-repo-left{display:flex;align-items:center;gap:14px;min-width:240px}.pd-repo-ico{width:44px;height:44px;border-radius:12px;background:#05090e;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pd-repo-details{display:flex;flex-direction:column;gap:4px}.pd-repo-title{font-size:15px;font-weight:700;color:#05090e}.pd-repo-meta{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#64748b}.pd-repo-branch{font-family:ui-monospace,Cascadia Code,monospace;font-size:11px;padding:2px 7px;background:#eef3ff;color:#1f57f5;border-radius:5px;font-weight:600}.pd-storage-bar{background:#f8fafc;border:1px solid #E6EDF7;border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.pd-storage-labels{display:flex;align-items:center;justify-content:space-between;font-size:12.5px}.pd-meetings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.pd-meeting-card{background:#fff;border:1px solid #E6EDF7;border-radius:12px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;box-shadow:0 1px 2px #05090e05}.pd-meeting-time-box{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#1f57f5;background:#eef3ff;padding:4px 10px;border-radius:6px;width:fit-content}.pd-activity-timeline{display:flex;flex-direction:column;gap:0;position:relative}.pd-activity-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #F1F5F9;align-items:flex-start;position:relative}.pd-activity-item:last-child{border-bottom:none}.pd-activity-icon-wrap{width:32px;height:32px;border-radius:9px;background:#f6f9ff;border:1px solid #E6EDF7;color:#1f57f5;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.pd-activity-content{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.pd-activity-text{font-size:13.5px;color:#1e293b;line-height:1.45}.pd-activity-text b{color:#05090e}.pd-activity-date{font-size:11.5px;color:#94a3b8}.pd-header-desc{margin:8px 0 0;font-size:13px;line-height:1.6;color:#64748b;max-width:860px;white-space:pre-wrap;word-break:break-word}.pd-header-desc .pd-desc-empty{color:#94a3b8;font-style:italic}.pd-desc-block{margin-top:8px;max-width:860px}.pd-desc-block .pd-description-box{padding:10px 14px}.pd-desc-block .pd-desc-content{font-size:12.5px}.pd-stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pd-stat-row .pd-metric-card{gap:5px}.pd-stat-row .pd-metric-val .of{font-size:13px;font-weight:700;color:#94a3b8;letter-spacing:0}.pd-progress-track{height:6px;border-radius:999px;background:#e9eff8;overflow:hidden}.pd-progress-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#1f57f5,#2baff2);transition:width .3s ease}.pd-tab-panel{display:flex;flex-direction:column;gap:16px;min-width:0}@media(max-width:1040px){.pd-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.pd-stat-row{grid-template-columns:1fr}}@media(max-width:768px){.pd-header{padding:16px}.pd-header-top{flex-direction:column;align-items:stretch}.pd-header-actions{justify-content:flex-start}.pd-kpi-2x2{grid-template-columns:1fr}.pd-filter-bar{flex-direction:column;align-items:stretch}.pd-search-input{width:100%}}
