:root{--navy-950:#071c3a;--navy-900:#09264d;--navy-800:#103764;--blue-700:#245bd7;--blue-600:#2f73e8;--blue-500:#4386f4;--blue-100:#e8f1ff;--blue-50:#f3f7ff;--green-600:#1fa968;--green-100:#e8f8ef;--amber-600:#e58a08;--amber-100:#fff4dd;--red-600:#e04e46;--red-100:#fff0ee;--purple-600:#7656d8;--purple-100:#f1edff;--cyan-600:#258bbd;--cyan-100:#e8f7fc;--slate-950:#172033;--slate-800:#2b3447;--slate-700:#465064;--slate-600:#687287;--slate-500:#8992a3;--slate-400:#aab1bf;--slate-300:#d5d9e2;--slate-200:#e6e9ef;--slate-100:#f0f2f6;--slate-50:#f7f8fa;--surface:#fff;--canvas:#f4f6f9;--shadow-sm:0 1px 2px #0f21410a, 0 4px 16px #0f21410a;--shadow-md:0 10px 32px #0f214117;--sidebar-width:236px;--sidebar-collapsed:82px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--canvas);color:var(--slate-950);-webkit-font-smoothing:antialiased;margin:0;font-family:Microsoft YaHei,PingFang SC,Noto Sans CJK SC,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}input,select{outline:none}:is(button:focus-visible,input:focus-visible,select:focus-visible){outline-offset:2px;outline:3px solid #2f73e838}.app-loading{min-height:100vh;color:var(--slate-600);place-content:center;justify-items:center;gap:16px;display:grid}.timestamp-gate-page{background:radial-gradient(circle at 20% 12%,#4386f417,#0000 34%),radial-gradient(circle at 86% 85%,#1fa96811,#0000 31%),#f4f7fb;min-height:100vh}.timestamp-gate-shell{place-items:center;min-height:calc(100vh - 58px);padding:32px;display:grid}.timestamp-gate-card{border:1px solid var(--slate-200);width:min(460px,100vw - 36px);box-shadow:var(--shadow-md);background:#fff;border-radius:20px;flex-direction:column;padding:clamp(30px,4vw,46px);display:flex}.timestamp-gate-icon{width:58px;height:58px;color:var(--blue-600);background:var(--blue-100);border-radius:16px;place-items:center;margin-bottom:18px;display:grid}.timestamp-gate-card h2{color:var(--slate-950);margin:0;font-size:26px}.timestamp-gate-card>p{color:var(--slate-600);margin:10px 0 20px;font-size:12px;line-height:1.8}.timestamp-local-time{color:var(--blue-600);background:var(--blue-50);border:1px solid #dbe7fb;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:3px 8px;margin-bottom:22px;padding:12px 14px;display:grid}.timestamp-local-time svg{grid-row:1/span 2}.timestamp-local-time span{color:var(--slate-500);font-size:10px}.timestamp-local-time strong{color:var(--slate-800);font-variant-numeric:tabular-nums;font-size:12px}.timestamp-gate-submit{justify-content:center;width:100%;min-height:48px;margin-top:18px}.timestamp-gate-back{align-self:center;margin-top:14px}@media (max-width:560px){.timestamp-gate-shell{align-items:start;padding:20px 0}.timestamp-gate-card{border-radius:16px;padding:28px 24px}}.brand-mark{width:42px;height:42px;color:var(--blue-600);background:var(--blue-100);border-radius:13px;flex:none;place-items:center;display:inline-grid;box-shadow:0 8px 20px #225bc224}.login-page{background:#fff;grid-template-columns:minmax(480px,1.15fr) minmax(420px,.85fr);min-height:100vh;display:grid}.login-page-single{background:radial-gradient(circle at 18% 12%,#4180eb14,#0000 24%),radial-gradient(circle at 82% 88%,#29a4970f,#0000 25%),#f5f7fa;grid-template-columns:1fr}.login-page-single .login-form-panel{background:0 0}.login-page-single .login-card{width:min(480px,100%);padding:52px}.login-brand-panel{color:#fff;background:radial-gradient(circle at 77% 25%,#3584ff5c,#0000 24%),radial-gradient(circle at 28% 78%,#1fb3a126,#0000 28%),linear-gradient(145deg,#061a36 0%,#092b59 57%,#0d3971 100%);min-height:100vh;padding:54px 64px;position:relative;overflow:hidden}.login-brand-panel:after{content:"";opacity:.19;background-image:linear-gradient(#ffffff14 1px,#0000 1px),linear-gradient(90deg,#ffffff14 1px,#0000 1px);background-size:58px 58px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(to bottom right,#0000,#000 40%,#0000 90%);mask-image:linear-gradient(to bottom right,#0000,#000 40%,#0000 90%)}.brand-lockup{z-index:2;color:#fff;letter-spacing:.02em;align-items:center;gap:13px;font-size:16px;font-weight:700;display:flex;position:relative}.brand-lockup-large{font-size:19px}.brand-lockup-large .brand-mark{width:42px;height:42px}.login-brand-copy{z-index:2;width:min(660px,88%);margin-top:clamp(130px,19vh,210px);position:relative}.eyebrow,.section-kicker,.hero-kicker{color:var(--blue-600);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:800;display:inline-block}.eyebrow-light{color:#83b8ff}.login-brand-copy h1{letter-spacing:-.04em;margin:18px 0 24px;font-size:clamp(42px,4.5vw,68px);line-height:1.18}.login-brand-copy>p{color:#ebf3ffb8;max-width:570px;margin:0;font-size:17px;line-height:1.9}.login-feature-row{color:#f4f8ffd6;flex-wrap:wrap;gap:26px;margin-top:42px;font-size:14px;display:flex}.login-feature-row span{align-items:center;gap:8px;display:flex}.login-orbit{z-index:1;border:1px solid #73aeff29;border-radius:50%;position:absolute}.login-orbit-one{width:600px;height:600px;bottom:-160px;right:-280px}.login-orbit-two{width:420px;height:420px;bottom:-65px;right:-190px}.login-form-panel{background:#fbfcfe;place-items:center;min-height:100vh;padding:48px;display:grid}.login-card{border:1px solid var(--slate-200);background:#fff;border-radius:22px;width:min(420px,100%);padding:44px;box-shadow:0 24px 70px #152e531c}.login-system-brand{border-bottom:1px solid var(--slate-100);color:var(--navy-900);align-items:center;gap:12px;margin-bottom:30px;padding-bottom:22px;font-size:16px;font-weight:800;display:flex}.login-mobile-brand{display:none}.login-card h2{margin:12px 0 8px;font-size:32px}.muted{color:var(--slate-600)}.login-card>.muted{margin:0 0 34px;font-size:14px}.field-label{color:var(--slate-700);margin:20px 0 8px;font-size:13px;font-weight:700;display:block}.input-with-icon{border:1px solid var(--slate-300);height:48px;color:var(--slate-500);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:0 14px;transition:border-color .2s,box-shadow .2s;display:flex}.input-with-icon:focus-within{border-color:var(--blue-500);box-shadow:0 0 0 4px #2f73e817}.input-with-icon input{min-width:0;color:var(--slate-950);background:0 0;border:0;flex:1}.text-button{color:var(--blue-600);background:0 0;border:0;align-items:center;gap:3px;padding:0;font-size:13px;font-weight:700;display:inline-flex}.password-toggle{font-size:12px}.remember-row{justify-content:space-between;align-items:center;gap:18px;margin-top:16px;display:flex}.remember-row label{color:var(--slate-600);cursor:pointer;align-items:center;gap:7px;font-size:12px;display:inline-flex}.remember-row input{width:15px;height:15px;accent-color:var(--blue-600);margin:0}.password-manager-note{color:var(--slate-500);margin:9px 0 0;font-size:10px;line-height:1.6}.primary-button,.secondary-button,.danger-button{border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 17px;font-size:13px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.primary-button{border:1px solid var(--blue-600);color:#fff;background:linear-gradient(135deg, var(--blue-600), var(--blue-700));box-shadow:0 7px 16px #2f73e833}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #2f73e842}.secondary-button{border:1px solid var(--slate-300);color:var(--slate-700);background:#fff}.secondary-button:hover:not(:disabled){color:var(--blue-700);background:var(--blue-50);border-color:#b7c6df}.danger-button{color:var(--red-600);background:var(--red-100);border:1px solid #f1b5b1}.login-submit{width:100%;min-height:49px;margin-top:26px}.login-hint{color:var(--slate-500);text-align:center;margin:18px 0 0;font-size:12px}.login-page.login-page-enterprise{background:radial-gradient(circle at 25% 18%, #4386f414, transparent 28%), radial-gradient(circle at 72% 76%, #1fa9680b, transparent 24%), var(--blue-50);grid-template:58px minmax(0,1fr)/1fr;min-height:100vh;display:grid;overflow:hidden}.login-window-bar{z-index:5;background:#ffffffe0;border-bottom:1px solid #d5d9e2b8;align-items:center;padding:0 clamp(24px,3.2vw,54px);display:flex;position:relative;box-shadow:0 1px 10px #0f214106}.login-window-brand,.login-window-brand .brand-mark{align-items:center;display:flex}.login-window-brand{color:var(--slate-800);gap:10px;font-size:14px}.login-window-brand .brand-mark{width:32px;height:32px;box-shadow:none;border-radius:9px;justify-content:center}.login-window-brand .brand-mark svg{width:18px;height:18px}.login-enterprise-shell{grid-template-columns:minmax(570px,1.08fr) minmax(470px,.92fr);min-height:0;display:grid}.login-product-panel{isolation:isolate;grid-template-rows:auto minmax(220px,1fr) auto;min-width:0;min-height:0;padding:clamp(58px,7vh,86px) clamp(48px,6vw,108px) 30px;display:grid;position:relative;overflow:hidden}.login-product-panel:before,.login-product-panel:after{z-index:-2;content:"";filter:blur(1px);border-radius:50%;position:absolute}.login-product-panel:before{background:#ffffffb8;width:min(60vw,820px);height:min(60vw,820px);top:-42%;left:-32%}.login-product-panel:after{background:#c1dfff38;width:min(42vw,560px);height:min(42vw,560px);bottom:-34%;right:-20%}.login-product-copy{z-index:2;max-width:810px;position:relative}.login-product-copy h1{color:var(--slate-950);letter-spacing:-.045em;flex-wrap:wrap;align-items:baseline;margin:0;font-size:clamp(40px,3.7vw,62px);line-height:1.14;display:flex}.login-product-copy h1 strong{font-weight:800}.login-title-blue{color:var(--blue-600);margin-left:.12em}.login-title-green{color:var(--green-600)}.login-product-copy>p{color:var(--slate-600);letter-spacing:.035em;margin:22px 0 0;font-size:clamp(14px,1.05vw,17px);line-height:1.8}.login-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,30px);margin-top:clamp(38px,5.5vh,62px);display:grid}.login-feature-grid article{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px;min-width:0;display:grid}.login-feature-grid article>div{min-width:0}.login-feature-grid strong,.login-feature-grid small{display:block}.login-feature-grid strong{color:var(--slate-800);font-size:14px;line-height:1.5}.login-feature-grid small{overflow-wrap:anywhere;color:var(--slate-500);margin-top:3px;font-size:11px;line-height:1.55}.login-feature-icon{border-radius:15px;place-items:center;width:48px;height:48px;display:inline-grid}.login-feature-blue{color:var(--blue-600);background:var(--blue-100)}.login-feature-green{color:var(--green-600);background:var(--green-100)}.login-feature-purple{color:var(--purple-600);background:var(--purple-100)}.login-visual-scene{opacity:.62;align-self:end;width:min(680px,92%);height:clamp(230px,31vh,340px);margin:18px auto 0;position:relative;transform:perspective(900px)rotateX(2deg)}.login-visual-platform{background:linear-gradient(#ffffffb8,#d4e5ff5c);border:1px solid #4386f429;border-radius:50%;height:42%;position:absolute;bottom:7%;left:12%;right:10%;box-shadow:0 22px 50px #2f73e817,inset 0 -14px 28px #4386f412}.login-visual-ledger,.login-visual-dashboard{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#fffc;border:1px solid #7ea5de42;position:absolute;box-shadow:0 18px 42px #2f73e817}.login-visual-ledger{border-radius:19px;align-content:center;gap:12px;width:29%;height:55%;padding:25px 24px;display:grid;bottom:24%;left:18%;transform:rotateY(12deg)rotate(-2deg)}.login-visual-ledger span{background:var(--blue-100);border-radius:999px;height:7px}.login-visual-ledger span:nth-child(3){width:78%}.login-visual-ledger span:nth-child(4){width:64%}.login-visual-ledger span:nth-child(5){width:84%}.login-visual-ledger .visual-ledger-heading{background:#4386f485;width:38%;height:11px;margin-bottom:5px}.login-visual-dashboard{border-radius:20px;width:43%;height:64%;bottom:25%;right:19%;overflow:hidden;transform:rotateY(-8deg)rotate(1.5deg)}.visual-dashboard-header{background:#4386f494;align-items:center;gap:6px;height:21%;padding:0 18px;display:flex}.visual-dashboard-header i{background:#ffffffbd;border-radius:50%;width:6px;height:6px}.visual-dashboard-body{height:79%;position:relative}.visual-donut{border:14px solid #1fa96885;border-color:#1fa96885 #4386f48f #4386f433 #4386f433;border-radius:50%;width:68px;height:68px;position:absolute;top:22%;right:12%}.visual-bar{background:#4386f47a;border-radius:5px 5px 2px 2px;width:9%;position:absolute;bottom:19%}.visual-bar-one{height:29%;left:13%}.visual-bar-two{height:47%;left:26%}.visual-bar-three{background:#1fa9687a;height:66%;left:39%}.login-visual-shield{width:78px;height:78px;color:var(--green-600);background:#e8f8efcc;border:1px solid #1fa96833;border-radius:23px;place-items:center;display:grid;position:absolute;bottom:16%;right:9%;transform:rotate(6deg);box-shadow:0 16px 32px #1fa9681a}.login-product-footer{z-index:2;color:var(--slate-500);align-items:center;gap:7px;font-size:12px;display:inline-flex;position:relative}.login-page-enterprise .login-form-panel{background:0 0;min-width:0;min-height:0;padding:clamp(34px,5vw,72px);position:relative}.login-page-enterprise .login-form-panel:before{z-index:-1;content:"";filter:blur(70px);background:#87b5f729;border-radius:50%;position:absolute;inset:7% 5% 8%}.login-page-enterprise .login-card{background:#fffffff7;border:1px solid #d5d9e2d1;border-radius:18px;width:min(480px,100%);padding:clamp(36px,4vh,50px) clamp(36px,3.5vw,48px);box-shadow:0 22px 54px #284b8016}.login-page-enterprise .login-system-brand{color:var(--slate-800);border:0;gap:11px;margin:0 0 38px;padding:0;font-size:17px}.login-page-enterprise .login-system-brand .brand-mark{width:38px;height:38px;box-shadow:none;border-radius:11px}.login-page-enterprise .login-card h2{color:var(--slate-950);margin:0 0 9px;font-size:clamp(28px,2.2vw,34px);line-height:1.25}.login-page-enterprise .login-card>.muted{color:var(--slate-500);margin:0 0 31px;font-size:13px;line-height:1.7}.login-page-enterprise .field-label{color:var(--slate-700);margin:18px 0 8px;font-size:13px}.login-page-enterprise .input-with-icon{border-color:var(--slate-300);height:48px;color:var(--slate-500);border-radius:9px;padding-inline:15px 11px}.login-page-enterprise .input-with-icon input{height:100%;font-size:14px}.password-eye-button{width:34px;height:34px;color:var(--slate-500);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0;transition:color .18s,background .18s;display:inline-grid}.password-eye-button:hover{color:var(--blue-600);background:var(--blue-50)}.login-page-enterprise .remember-row{margin-top:17px}.login-page-enterprise .remember-row label{color:var(--slate-600);font-size:12px}.login-page-enterprise .remember-row input{width:16px;height:16px}.login-page-enterprise .login-submit{border-color:var(--blue-600);background:linear-gradient(110deg, var(--blue-600), var(--blue-500));border-radius:9px;min-height:49px;margin-top:26px;box-shadow:0 10px 22px #2f73e82e}.login-page-enterprise .login-submit:hover:not(:disabled){background:linear-gradient(110deg, var(--blue-700), var(--blue-600));box-shadow:0 12px 24px #2f73e838}.login-page-enterprise .login-submit:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 14px #2f73e82e}@media (max-width:1180px){.login-enterprise-shell{grid-template-columns:minmax(500px,1fr) minmax(440px,.92fr)}.login-product-panel{padding-inline:44px}.login-feature-grid{gap:12px}.login-feature-grid article{grid-template-columns:42px minmax(0,1fr);gap:9px}.login-feature-icon{border-radius:13px;width:42px;height:42px}}@media (max-width:960px){.login-page.login-page-enterprise{min-height:100vh;overflow:auto}.login-enterprise-shell{grid-template-columns:1fr}.login-product-panel{grid-template-rows:auto auto;padding:42px 32px 30px}.login-product-copy{text-align:center;margin-inline:auto}.login-product-copy h1{justify-content:center;font-size:clamp(34px,7vw,48px)}.login-feature-grid{text-align:left;margin-top:30px}.login-visual-scene{display:none}.login-product-footer{justify-self:center;margin-top:30px}.login-page-enterprise .login-form-panel{min-height:auto;padding:20px 24px 54px}}@media (max-width:620px){.login-page.login-page-enterprise{grid-template-rows:54px minmax(0,1fr)}.login-window-bar{padding-inline:18px}.login-product-panel{padding:34px 20px 25px}.login-product-copy>p{margin-top:15px;font-size:13px}.login-feature-grid{grid-template-columns:1fr;gap:13px;width:min(300px,100%);margin:25px auto 0}.login-feature-grid article{grid-template-columns:42px 1fr}.login-product-footer{margin-top:24px}.login-page-enterprise .login-form-panel{padding:12px 14px 34px}.login-page-enterprise .login-card{box-shadow:var(--shadow-sm);border-radius:14px;padding:32px 24px}.login-page-enterprise .login-system-brand{margin-bottom:30px}}.form-error{color:#b3312a;background:var(--red-100);border-radius:8px;align-items:center;gap:7px;margin-top:14px;padding:10px 12px;font-size:12px;display:flex}.app-shell{min-height:100vh}.sidebar{z-index:40;width:var(--sidebar-width);color:#ffffffc7;background:radial-gradient(circle at 78% 10%,#87beff47,#0000 28%),linear-gradient(165deg,#164bad 0%,#2e6cdd 60%,#3b82ed 100%);flex-direction:column;padding:26px 15px 18px;transition:width .22s;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:5px 0 24px #194ca42e}.sidebar:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff06 1px,#0000 1px);background-size:100% 44px;position:absolute;inset:0}.sidebar .brand-lockup{border-bottom:1px solid #ffffff14;min-height:62px;padding:0 12px 19px}.sidebar .brand-mark{color:#fff;background:#ffffff29;box-shadow:0 8px 20px #0d37852e}.brand-name{white-space:nowrap;line-height:1.45}.sidebar-nav{z-index:1;flex-direction:column;gap:7px;margin-top:24px;display:flex;position:relative}.nav-item{min-height:46px;color:inherit;white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:13px;padding:0 15px;font-size:14px;transition:background .18s,color .18s;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff1c}.nav-item-active{color:#fff;background:#ffffff30;box-shadow:0 8px 22px #123d8d2e,inset 0 0 0 1px #ffffff14}.nav-active-dot{background:#fff;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-footer{z-index:1;border-top:1px solid #ffffff14;flex-direction:column;gap:4px;margin-top:auto;padding-top:14px;display:flex;position:relative}.nav-item-danger:hover{color:#ffb9b4;background:#e04e461f}.sidebar-collapsed{width:var(--sidebar-collapsed)}.sidebar-collapsed .brand-lockup{justify-content:center;padding-inline:0}.sidebar-collapsed .brand-name,.sidebar-collapsed .nav-item span{display:none}.sidebar-collapsed .nav-item{justify-content:center;padding:0}.app-main{min-height:100vh;margin-left:var(--sidebar-width);transition:margin-left .22s}.app-shell-collapsed .app-main{margin-left:var(--sidebar-collapsed)}.app-header{z-index:30;border-bottom:1px solid var(--slate-200);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;justify-content:space-between;align-items:center;gap:24px;min-height:88px;padding:14px clamp(22px,2.2vw,38px);display:flex;position:sticky;top:0}.header-title-group{align-items:center;gap:12px;min-width:0;display:flex}.header-title-group h1{letter-spacing:-.02em;margin:3px 0 2px;font-size:21px}.header-title-group p{color:var(--slate-500);margin:0;font-size:12px}.breadcrumb{color:var(--slate-500);align-items:center;gap:4px;font-size:11px;display:flex}.header-actions{align-items:center;gap:10px;display:flex}.year-select{border:1px solid var(--slate-300);height:40px;color:var(--slate-700);background:#fff;border-radius:9px;align-items:center;gap:7px;padding:0 10px;display:flex}.year-select select{color:inherit;background:0 0;border:0;font-size:13px}.icon-button{border:1px solid var(--slate-200);width:40px;height:40px;color:var(--slate-700);background:#fff;border-radius:9px;place-items:center;padding:0;display:inline-grid}.icon-button:hover:not(:disabled){color:var(--blue-600);background:var(--blue-50)}.icon-button-small{border-radius:7px;width:30px;height:30px}.icon-button-danger:hover{color:var(--red-600);background:var(--red-100)}.notification-button{position:relative}.notification-button span{color:#fff;background:var(--red-600);border:2px solid #fff;border-radius:10px;place-items:center;min-width:19px;height:19px;padding:0 4px;font-size:9px;font-weight:800;display:grid;position:absolute;top:-5px;right:-5px}.user-chip{border-left:1px solid var(--slate-200);align-items:center;gap:9px;min-width:128px;padding-left:9px;display:flex}.avatar,.profile-avatar{color:#fff;background:linear-gradient(135deg,#5b92f0,#2259d2);border-radius:11px;place-items:center;width:37px;height:37px;font-size:14px;font-weight:800;display:grid}.user-chip div{flex-direction:column;gap:2px;display:flex}.user-chip strong{font-size:13px}.user-chip small{color:var(--slate-500);font-size:10px}.mobile-menu-button{display:none}.page-content{padding:24px clamp(22px,2.2vw,38px) 40px}.page-stack{flex-direction:column;gap:16px;animation:.28s both page-in;display:flex}@keyframes page-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.panel{border:1px solid var(--slate-200);min-width:0;box-shadow:var(--shadow-sm);background:#fff;border-radius:14px}.hero-strip{color:#fff;background:radial-gradient(circle at 88% 42%,#72b2ff57,#0000 16%),linear-gradient(110deg,#164bad,#2e6cdd 60%,#3b82ed 100%);border-radius:16px;justify-content:space-between;align-items:center;gap:24px;min-height:132px;padding:25px 30px;display:flex;overflow:hidden;box-shadow:0 14px 32px #255bb82e}.hero-strip h2{margin:5px 0 7px;font-size:27px}.hero-strip p{color:#ffffffc2;margin:0;font-size:13px}.hero-kicker{color:#e0efffad;font-size:10px}.hero-action{color:#fff;background:#ffffff1a;border:1px solid #ffffff59;border-radius:9px;align-items:center;gap:8px;min-height:42px;padding:0 17px;font-size:13px;font-weight:700;display:inline-flex}.hero-strip-performance{background:radial-gradient(circle at 88% 42%,#74f2c040,#0000 18%),linear-gradient(110deg,#174c9e,#187bb0 65%,#229a9a 100%)}.hero-inline-stat{text-align:center;background:#ffffff1a;border:1px solid #ffffff38;border-radius:12px;min-width:164px;padding:16px 20px}.hero-inline-stat span{color:#ffffffb8;font-size:12px;display:block}.hero-inline-stat strong{margin:0 4px;font-size:28px}.hero-inline-stat small{font-size:11px}.kpi-grid{gap:12px;display:grid}.kpi-grid-dashboard{grid-template-columns:repeat(8,minmax(0,1fr))}.kpi-card{border:1px solid var(--slate-200);min-width:0;min-height:112px;box-shadow:var(--shadow-sm);color:var(--slate-950);text-align:left;background:#fff;border-radius:14px;grid-column:span 1;align-items:center;gap:10px;padding:15px;display:flex;overflow:hidden}.kpi-card-clickable{cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.kpi-card-clickable:hover{border-color:#adc7f2;transform:translateY(-2px);box-shadow:0 10px 24px #2156b11f}.kpi-card-wide{grid-column:span 2}.kpi-icon{border-radius:13px;flex:none;place-items:center;width:43px;height:43px;display:grid}.kpi-icon-blue{color:var(--blue-600);background:var(--blue-100)}.kpi-icon-cyan{color:var(--cyan-600);background:var(--cyan-100)}.kpi-icon-green{color:var(--green-600);background:var(--green-100)}.kpi-icon-amber{color:var(--amber-600);background:var(--amber-100)}.kpi-icon-red{color:var(--red-600);background:var(--red-100)}.kpi-icon-purple{color:var(--purple-600);background:var(--purple-100)}.kpi-content{min-width:0}.kpi-content>span{color:var(--slate-600);overflow-wrap:anywhere;white-space:normal;margin-bottom:8px;font-size:12px;font-weight:700;line-height:1.4;display:block}.metric-title{align-items:flex-start;gap:5px;display:flex!important}.kpi-value{font-variant-numeric:tabular-nums;letter-spacing:-.035em;white-space:nowrap;max-width:100%;font-size:clamp(20px,1.45vw,28px);font-weight:800}.kpi-card-wide .kpi-value{font-size:clamp(21px,1.65vw,30px)}.kpi-value small{color:var(--slate-500);letter-spacing:0;margin-left:4px;font-size:10px;font-weight:500}.kpi-content em{color:var(--red-600);margin-top:4px;font-size:10px;font-style:normal;display:block}.dashboard-main-grid{grid-template-columns:minmax(360px,1.08fr) minmax(440px,1.3fr) minmax(270px,.82fr);gap:16px;display:grid}.dashboard-main-grid>.panel{min-height:330px;padding:20px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:15px;min-height:40px;margin-bottom:16px;display:flex}.panel-heading h3{margin:4px 0 0;font-size:16px}.panel-heading p{color:var(--slate-500);margin:4px 0 0;font-size:11px}.panel-unit{color:var(--slate-500);font-size:11px}.status-chart-layout{justify-content:center;align-items:center;gap:clamp(16px,1.5vw,26px);max-width:100%;height:calc(100% - 58px);display:flex}.status-panel,.monthly-panel,.attention-panel{min-width:0;overflow:hidden}.donut{border:0;border-radius:50%;flex:none;place-items:center;width:184px;height:184px;padding:0;display:grid;box-shadow:inset 0 0 0 1px #00000008}button.donut{cursor:pointer}button.donut:focus-visible{outline-offset:3px;outline:3px solid #3b82f640}.donut>div{text-align:center;background:#fff;border-radius:50%;place-content:center;width:112px;height:112px;display:grid}.donut strong{font-size:32px}.donut span{color:var(--slate-500);font-size:10px}.budget-donut strong{overflow-wrap:anywhere;max-width:96px;font-size:18px;line-height:1.2}.budget-donut span{max-width:88px;margin-top:5px;line-height:1.4}.legend-list{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.legend-list>div,.legend-list>button{width:100%;color:var(--slate-700);text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;padding:6px;font-size:12px;display:grid}.legend-list>button{cursor:pointer}.legend-list>button:hover{background:var(--blue-50)}.legend-list>div>span:nth-child(2),.legend-list>button>span:nth-child(2){overflow-wrap:anywhere;min-width:0}.legend-list small{color:var(--slate-500);grid-column:2/4;font-size:10px}.legend-dot{border-radius:50%;width:8px;height:8px}.dot-green{background:#22b573}.dot-blue{background:#2f73e8}.dot-amber{background:#f59e0b}.dot-cyan{background:var(--cyan-600)}.dot-purple{background:var(--purple-600)}.budget-legend-list strong{overflow-wrap:anywhere;text-align:right;max-width:92px;font-size:11px}.bar-chart{border-bottom:1px solid var(--slate-200);background:repeating-linear-gradient(to bottom, transparent 0 47px, var(--slate-100) 48px);grid-template-columns:repeat(12,1fr);align-items:end;gap:clamp(5px,.8vw,12px);height:190px;padding:18px 4px 0;display:grid}.bar-item{grid-template-rows:16px 1fr 20px;place-items:end center;min-width:0;height:100%;display:grid}.bar-value{color:var(--slate-500);font-size:9px}.bar-track{align-items:flex-end;width:min(20px,72%);height:100%;display:flex}.bar-fill{background:linear-gradient(#5995f7,#2869de);border-radius:5px 5px 2px 2px;width:100%;min-height:0;transition:height .5s;box-shadow:0 4px 10px #2f73e833}.bar-item small{color:var(--slate-500);font-size:9px}.line-chart{height:190px;padding-top:8px}.line-chart-plot{height:164px;position:relative}.line-chart-plot svg{width:100%;height:100%;overflow:visible}.line-grid{stroke:var(--slate-100);stroke-width:1px}.line-grid-base{stroke:var(--slate-200)}.budget-line{fill:none;stroke:var(--blue-600);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 5px 7px #2f73e833)}.budget-point{fill:#fff;stroke:var(--blue-600);stroke-width:3px;vector-effect:non-scaling-stroke;cursor:pointer}.budget-point:hover,.budget-point:focus{fill:var(--blue-100);stroke-width:4px;outline:none}.line-value{z-index:1;color:var(--slate-600);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:1px 3px;font-size:9px;font-weight:700;position:absolute;transform:translate(-50%,-100%)}:is(.line-value:hover,.line-value:focus-visible){color:var(--blue-700);background:var(--blue-50)}.line-months{color:var(--slate-500);text-align:center;grid-template-columns:repeat(12,1fr);font-size:9px;display:grid}.line-months button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:3px 0}:is(.line-months button:hover,.line-months button:focus-visible){color:var(--blue-700);background:var(--blue-50)}.chart-summary-row{grid-template-columns:1fr 1fr;gap:8px;margin-top:13px;display:grid}.chart-summary-row>div{background:var(--slate-50);border-radius:8px;padding:9px 11px}.chart-summary-row span{color:var(--slate-500);font-size:9px;display:block}.chart-summary-row strong{color:var(--blue-700);margin-right:4px;font-size:15px}.chart-summary-row small{color:var(--slate-500);font-size:9px}.attention-panel{flex-direction:column;display:flex}.attention-item{border:0;border-top:1px solid var(--slate-100);min-height:68px;color:var(--slate-700);text-align:left;background:#fff;grid-template-columns:42px 1fr auto 16px;align-items:center;gap:10px;padding:10px 0;display:grid}.attention-item:hover{color:var(--blue-700)}.attention-icon{border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid}.attention-blue{color:var(--blue-600);background:var(--blue-100)}.attention-amber{color:var(--amber-600);background:var(--amber-100)}.attention-red{color:var(--red-600);background:var(--red-100)}.attention-purple{color:var(--purple-600);background:var(--purple-100)}.attention-item>span:nth-child(2){flex-direction:column;gap:4px;min-width:0;display:flex}.attention-item strong{color:var(--slate-800);font-size:12px}.attention-item small{color:var(--slate-500);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.attention-item b{color:var(--slate-950);font-size:21px}.recent-panel,.ledger-panel,.performance-grid+.panel{padding:20px}.dashboard-list-modal{width:min(1100px,96vw)}.dashboard-list-body{padding-top:14px}.list-count{color:var(--slate-500);text-align:right;margin-bottom:10px;font-size:11px}.table-wrap{border:1px solid var(--slate-200);border-radius:10px;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}.data-table th{height:42px;color:var(--slate-600);background:var(--slate-50);text-align:left;padding:0 13px;font-size:11px;font-weight:700}.data-table td{border-top:1px solid var(--slate-100);height:48px;color:var(--slate-700);padding:0 13px}.data-table tbody tr:hover td{background:#fafcff}.project-name-cell{text-overflow:ellipsis;min-width:250px;max-width:420px;font-weight:600;overflow:hidden;color:var(--slate-800)!important}.code-cell{font-family:inherit;font-size:12px;font-weight:600;color:#39475f!important}.ledger-table .code-cell{font-size:12px;font-weight:600;color:#27364f!important}.completion-date,.completion-pending-date{color:#198457;align-items:center;gap:5px;font-size:11px;font-weight:700;display:inline-flex}.completion-pending-date{color:var(--amber-600)}.status-badge{border-radius:999px;justify-content:center;align-items:center;min-width:54px;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.status-success{color:#148353;background:var(--green-100)}.status-info{color:#235ecb;background:var(--blue-100)}.status-warning{color:#b36500;background:var(--amber-100)}.status-neutral{color:var(--slate-600);background:var(--slate-100)}.panel-empty-dashboard{place-items:center;min-height:400px;display:grid}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:210px;padding:34px;display:flex}.empty-icon{width:64px;height:64px;color:var(--blue-600);background:var(--blue-100);border-radius:19px;place-items:center;display:grid}.empty-state h3{margin:16px 0 7px;font-size:17px}.empty-state p{max-width:460px;color:var(--slate-500);margin:0 0 20px;font-size:12px;line-height:1.7}.empty-actions{gap:8px;display:flex}.section-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:15px 17px;display:flex}.filters-row,.toolbar-actions{align-items:center;gap:9px;display:flex}.search-control{border:1px solid var(--slate-300);width:min(310px,30vw);height:40px;color:var(--slate-500);background:#fff;border-radius:9px;align-items:center;gap:8px;padding:0 12px;display:flex}.search-control input{border:0;flex:1;min-width:0}.filters-row>select{border:1px solid var(--slate-300);height:40px;color:var(--slate-700);background:#fff;border-radius:9px;padding:0 30px 0 11px;font-size:12px}.filter-result{color:var(--slate-500);font-size:11px}.ledger-table-wrap{max-height:calc(100vh - 286px)}.ledger-table th{z-index:2;position:sticky;top:0}.sticky-actions{z-index:3;min-width:86px;right:0;box-shadow:-5px 0 10px #1526410a;position:sticky!important}th.sticky-actions{background:var(--slate-50)}td.sticky-actions{background:#fff}.row-actions{align-items:center;gap:5px;display:flex}.pagination{justify-content:flex-end;align-items:center;gap:8px;margin-top:14px;display:flex}.pagination span{color:var(--slate-500);margin-right:5px;font-size:11px}.calendar-toolbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;min-height:66px;padding:12px 16px;display:grid}.calendar-toolbar h2{text-align:center;margin:0;font-size:18px}.calendar-nav-buttons{align-items:center;gap:7px;display:flex}.calendar-filter{color:var(--slate-500);justify-content:flex-end;align-items:center;gap:9px;font-size:11px;display:flex}.calendar-filter select{border:1px solid var(--slate-300);min-width:130px;height:40px;color:var(--slate-700);background:#fff;border-radius:9px;padding:0 11px}.calendar-layout{grid-template-columns:minmax(680px,1fr) minmax(280px,340px);gap:16px;min-width:0;display:grid}.calendar-board{min-width:0;overflow:hidden}.calendar-weekdays{border-bottom:1px solid var(--slate-200);background:var(--slate-50);grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays div{height:42px;color:var(--slate-600);place-items:center;font-size:11px;font-weight:700;display:grid}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid;position:relative}.calendar-day{border:0;border-right:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);min-width:0;min-height:116px;color:var(--slate-800);text-align:left;cursor:pointer;background:#fff;flex-direction:column;gap:7px;padding:9px;display:flex;overflow:hidden}.calendar-day:nth-child(7n){border-right:0}.calendar-day:hover{background:#f9fbff}.calendar-day-outside{color:var(--slate-400);background:#fafbfc}.calendar-day-selected{z-index:1;box-shadow:inset 0 0 0 2px var(--blue-500);background:var(--blue-50);position:relative}.calendar-day-number{border-radius:50%;place-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:grid}.calendar-day-today .calendar-day-number{color:#fff;background:var(--blue-600);box-shadow:0 5px 12px #2f73e840}.calendar-events{flex-direction:column;gap:4px;min-width:0;display:flex}.calendar-event{text-overflow:ellipsis;white-space:nowrap;border-radius:5px;min-width:0;padding:5px 6px;font-size:9px;font-weight:700;display:block;overflow:hidden}.calendar-event-multiline{text-overflow:clip;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box}.calendar-event-urgent{color:#b84a36;background:#fff0eb}.calendar-event-later{color:#9a6816;background:#fff5d9}.calendar-event-opened{color:#187348;background:#e5f7ee}.calendar-more{color:var(--slate-500);font-size:9px}.calendar-legend{min-height:48px;color:var(--slate-600);align-items:center;gap:22px;padding:0 16px;font-size:10px;display:flex}.calendar-legend span{align-items:center;gap:6px;display:inline-flex}.calendar-legend i,.calendar-group-dot{border-radius:2px;width:8px;height:8px}.legend-urgent{background:#ef795f}.legend-later{background:#e2ad36}.legend-opened{background:#35a66f}.legend-today{background:var(--blue-600);border-radius:50%!important}.calendar-day-popover{z-index:20;background:#fffffffa;border:1px solid #b9cdf0;border-radius:14px;flex-direction:column;min-width:0;padding:14px;animation:.18s both calendar-popover-in;display:flex;position:absolute;overflow:hidden;box-shadow:0 18px 42px #25395b3d}@keyframes calendar-popover-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.calendar-day-popover>header{border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:11px;display:flex}.calendar-day-popover>header div,.calendar-day-popover>header span,.calendar-day-popover>header strong{display:block}.calendar-day-popover>header span{color:var(--blue-600);margin-bottom:4px;font-size:10px;font-weight:800}.calendar-day-popover>header strong{color:var(--slate-800);font-size:14px}.calendar-day-popover-list{flex:1;min-height:0;padding-top:8px;overflow-y:auto}.calendar-day-popover-list>button{border:0;border-bottom:1px solid var(--slate-100);width:100%;min-width:0;color:var(--slate-700);text-align:left;cursor:pointer;background:0 0;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 7px;display:grid}.calendar-day-popover-list>button:hover{background:var(--blue-50)}.calendar-day-popover-list>button span,.calendar-day-popover-list>button strong,.calendar-day-popover-list>button small{min-width:0;display:block}.calendar-day-popover-list>button strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.calendar-day-popover-list>button small{color:var(--slate-500);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;overflow:hidden}.calendar-event-marker{border-radius:2px;width:8px;height:8px}.calendar-event-marker-urgent{background:#ef795f}.calendar-event-marker-later{background:#e2ad36}.calendar-event-marker-opened{background:#35a66f}.calendar-day-popover-empty{min-height:100%;color:var(--slate-400);place-content:center;justify-items:center;gap:8px;font-size:11px;display:grid}.calendar-detail-panel{min-width:0;padding:18px}.calendar-detail-date{border-bottom:1px solid var(--slate-200);grid-template-columns:44px 48px 1fr;align-items:center;gap:5px;padding:2px 0 18px;display:grid}.calendar-detail-date>span{color:var(--blue-600);font-size:11px;font-weight:800}.calendar-detail-date>strong{font-size:34px;line-height:1}.calendar-detail-date>div{flex-direction:column;gap:4px;display:flex}.calendar-detail-date b{color:var(--slate-700);font-size:11px}.calendar-detail-date small{color:var(--slate-500);font-size:10px}.calendar-project-group{padding-top:18px}.calendar-project-list{max-height:300px;padding-right:3px;overflow-y:auto}.calendar-project-group>header{color:var(--slate-800);grid-template-columns:8px 1fr auto;align-items:center;gap:7px;margin-bottom:10px;font-size:12px;font-weight:800;display:grid}.calendar-project-group>header b{min-width:24px;height:22px;color:var(--slate-600);background:var(--slate-100);border-radius:11px;place-items:center;font-size:10px;display:grid}.calendar-group-pending{background:#ef795f}.calendar-group-opened{background:#4b84e6}.calendar-group-other{background:var(--amber-600)}.calendar-project-card{border:1px solid var(--slate-200);width:100%;color:var(--slate-700);text-align:left;background:#fff;border-radius:9px;flex-direction:column;gap:5px;margin-bottom:8px;padding:12px 31px 12px 12px;display:flex;position:relative;overflow:hidden}.calendar-project-card:hover{background:var(--blue-50);border-color:#b9ccec}.calendar-project-card.calendar-project-urgent{color:#b73b31;background:#fff3f1;border-color:#f1a195}.calendar-project-card.calendar-project-urgent strong,.calendar-project-card.calendar-project-urgent span,.calendar-project-card.calendar-project-urgent small{color:#b73b31}.calendar-project-card strong{color:var(--slate-800);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.45;overflow:hidden}.calendar-project-card span,.calendar-project-card small{color:var(--slate-500);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.calendar-project-card svg{position:absolute;top:50%;right:9px;transform:translateY(-50%)}.calendar-group-empty{min-height:88px;color:var(--slate-400);flex-direction:column;justify-content:center;align-items:center;gap:7px;font-size:10px;display:flex}.performance-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.performance-grid .kpi-card:first-child{grid-column:span 6}.performance-grid .kpi-card:nth-child(2),.performance-grid .kpi-card:nth-child(3){grid-column:span 3}.performance-grid .kpi-card:nth-child(4),.performance-grid .kpi-card:nth-child(5),.performance-grid .kpi-card:nth-child(6){grid-column:span 4}.unpaid-summary-card{min-width:0;min-height:122px;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #f0cfcc;border-radius:14px;grid-column:span 12;grid-template-columns:48px minmax(240px,.7fr) 1px minmax(0,1.3fr);align-items:center;gap:18px;padding:20px 24px;display:grid}.unpaid-summary-card:after{content:"";background:var(--slate-200);grid-area:1/3;width:1px;height:62px}.unpaid-amount{flex-direction:column;gap:8px;display:flex}.unpaid-amount>span{color:var(--slate-600);font-size:12px;font-weight:700}.unpaid-amount>strong{color:var(--slate-950);font-variant-numeric:tabular-nums;font-size:27px}.unpaid-project-summary{grid-area:1/4;min-width:0}.unpaid-project-summary>div{align-items:baseline;gap:7px;display:flex}.unpaid-project-summary>div strong{color:var(--red-600);font-size:24px}.unpaid-project-summary>div span{color:var(--slate-600);font-size:11px;font-weight:700}.unpaid-project-summary p{color:var(--slate-700);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:7px 0 0;font-size:11px;line-height:1.6;display:-webkit-box;overflow:hidden}.reminder-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.reminder-summary{border:1px solid var(--slate-200);min-height:104px;box-shadow:var(--shadow-sm);color:var(--slate-800);text-align:left;background:#fff;border-radius:14px;align-items:center;gap:14px;padding:18px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex}.reminder-summary:hover,.reminder-summary-active{border-color:#a9c4f3;box-shadow:0 9px 24px #265bb41c}.reminder-summary-active{background:var(--blue-50);transform:translateY(-1px)}.reminder-summary>svg{color:var(--slate-400);margin-left:auto}.reminder-summary>span{border-radius:13px;place-items:center;width:45px;height:45px;display:grid}.reminder-summary div{flex-direction:column;display:flex}.reminder-summary strong{font-size:27px}.reminder-summary small{color:var(--slate-500);font-size:11px}.reminder-blue>span{color:var(--blue-600);background:var(--blue-100)}.reminder-amber>span{color:var(--amber-600);background:var(--amber-100)}.reminder-red>span{color:var(--red-600);background:var(--red-100)}.reminder-purple>span{color:var(--purple-600);background:var(--purple-100)}.reminder-columns{grid-template-columns:1fr 1fr;gap:16px;display:grid}.reminder-group{min-height:310px;padding:20px}.reminder-group-active{min-height:380px}.reminder-heading{grid-template-columns:40px 1fr auto;align-items:center;display:grid}.reminder-heading h3{margin:0}.count-pill{min-width:30px;height:27px;color:var(--slate-700);background:var(--slate-100);border-radius:14px;place-items:center;font-size:12px;font-weight:800;display:grid}.reminder-list{flex-direction:column;display:flex}.reminder-row{border:0;border-top:1px solid var(--slate-100);min-height:66px;color:var(--slate-700);text-align:left;background:#fff;grid-template-columns:1fr auto 18px;align-items:center;gap:12px;padding:10px 3px;display:grid}.reminder-row:hover{color:var(--blue-600)}.reminder-row div{flex-direction:column;gap:4px;min-width:0;display:flex}.reminder-row strong{color:var(--slate-800);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.reminder-row span,.reminder-row small{color:var(--slate-500);font-size:10px}.mini-empty{min-height:150px;color:var(--slate-500);grid-auto-flow:column;place-content:center;gap:7px;font-size:12px;display:grid}.import-intro{justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.import-intro h2{margin:5px 0 7px;font-size:21px}.import-intro p{color:var(--slate-500);margin:0;font-size:12px}.import-mode-section h3{color:var(--slate-700);margin:0 0 10px;font-size:12px}.import-mode-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.import-mode-card{border:1px solid var(--slate-200);min-width:0;min-height:92px;color:var(--slate-700);box-shadow:var(--shadow-sm);text-align:left;background:#fff;border-radius:14px;align-items:center;gap:14px;padding:18px 20px;transition:border-color .18s,background .18s,box-shadow .18s;display:flex}.import-mode-card>svg{color:var(--blue-600);flex:none}.import-mode-card>span{flex-direction:column;gap:6px;min-width:0;display:flex}.import-mode-card strong{color:var(--slate-800);font-size:13px}.import-mode-card small{color:var(--slate-500);font-size:11px;line-height:1.5}.import-mode-card:hover,.import-mode-active{background:var(--blue-50);border-color:#a8c3ef;box-shadow:0 8px 20px #265bb414}.drop-zone{background:#f9fbff;border:1.5px dashed #a9bddd;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:270px;padding:28px;transition:border-color .2s,background .2s,transform .2s;display:flex}.drop-zone-active{border-color:var(--blue-600);background:var(--blue-50);transform:scale(.998)}.upload-illustration{width:74px;height:66px;color:var(--blue-600);background:var(--blue-100);border-radius:18px;place-items:center;display:grid;position:relative}.upload-illustration span{color:#fff;background:var(--green-600);border:2px solid #f9fbff;border-radius:6px;padding:4px 6px;font-size:8px;font-weight:800;position:absolute;bottom:-7px;right:-10px}.drop-zone h3{margin:18px 0 6px;font-size:17px}.drop-zone p{color:var(--slate-500);margin:0 0 20px;font-size:12px}.import-errors{flex-direction:column;gap:6px;display:flex}.import-errors>div{color:#b93a33;background:var(--red-100);border:1px solid #f2bbb7;border-radius:9px;align-items:center;gap:8px;padding:11px 14px;font-size:12px;display:flex}.import-preview{padding:20px}.preview-note{color:var(--slate-500);margin:10px 0 0;font-size:10px}.import-footer{border-top:1px solid var(--slate-200);justify-content:space-between;align-items:flex-end;gap:18px;margin-top:18px;padding-top:18px;display:flex}.strategy-group{gap:8px;display:flex}.strategy-group label{border:1px solid var(--slate-200);cursor:pointer;border-radius:9px;align-items:flex-start;gap:8px;min-width:164px;padding:10px;display:flex}.strategy-group input{accent-color:var(--blue-600);margin-top:2px}.strategy-group span{flex-direction:column;gap:3px;display:flex}.strategy-group strong{font-size:11px}.strategy-group small{color:var(--slate-500);font-size:9px;line-height:1.45}.strategy-group .strategy-active{border-color:var(--blue-500);background:var(--blue-50)}.import-guide{align-items:flex-start;gap:13px;padding:18px 20px;display:flex}.guide-icon{width:38px;height:38px;color:var(--blue-600);background:var(--blue-100);border-radius:10px;flex:none;place-items:center;display:grid}.import-guide h3{margin:1px 0 5px;font-size:13px}.import-guide p{color:var(--slate-500);margin:0;font-size:11px;line-height:1.7}.legacy-migration-panel,.import-server-preview,.import-report{padding:20px 22px}.legacy-migration-panel,.legacy-migration-panel>div,.legacy-migration-actions,.import-decision-controls{align-items:center;gap:12px;display:flex}.legacy-migration-panel h3{margin:0 0 5px;font-size:15px}.legacy-migration-panel p{color:var(--slate-500);margin:0;font-size:11px;line-height:1.6}.legacy-migration-panel{justify-content:space-between}.legacy-migration-actions{flex:none}.import-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.import-summary-grid>div{border:1px solid var(--slate-200);background:var(--slate-50);border-radius:11px;min-width:0;padding:12px 14px}.import-summary-grid span,.import-summary-grid strong{display:block}.import-summary-grid span{color:var(--slate-500);font-size:10px}.import-summary-grid strong{color:var(--slate-800);margin-top:5px;font-size:20px}.import-warning{color:#9a6514;background:var(--amber-100);border:1px solid #f1d19a;border-radius:9px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:11px;display:flex}.import-priority-selector{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px;padding:0;display:grid}.import-priority-selector legend{color:var(--slate-700);grid-column:1/-1;margin-bottom:2px;font-size:11px;font-weight:800}.import-priority-selector label{border:1px solid var(--slate-200);cursor:pointer;background:#fff;border-radius:10px;align-items:flex-start;gap:9px;min-width:0;padding:12px;display:flex}.import-priority-selector label.active{background:var(--blue-50);border-color:#9fc0f6;box-shadow:inset 0 0 0 1px #2f73e814}.import-priority-selector input{accent-color:var(--blue-600);margin-top:2px}.import-priority-selector span,.import-priority-selector strong,.import-priority-selector small{display:block}.import-priority-selector strong{color:var(--slate-800);font-size:11px}.import-priority-selector small{color:var(--slate-500);margin-top:4px;font-size:9px;line-height:1.55}.import-conflict-list{border:1px solid var(--slate-200);border-radius:12px;max-height:430px;overflow:auto}.import-conflict-row{border-bottom:1px solid var(--slate-200);grid-template-columns:minmax(0,1fr) minmax(240px,.75fr);align-items:center;gap:16px;padding:12px 14px;display:grid}.import-conflict-row:last-child{border-bottom:0}.import-conflict-row>div:first-child{flex-direction:column;gap:5px;min-width:0;display:flex}.import-conflict-row strong{overflow-wrap:anywhere;color:var(--slate-800);font-size:12px}.import-conflict-row span{color:var(--slate-500);font-size:10px;line-height:1.5}.import-category-conflict,.import-category-invalid,.import-category-duplicate{background:snow}.import-decision-controls select{border:1px solid var(--slate-200);min-width:0;min-height:36px;color:var(--slate-700);background:#fff;border-radius:8px;flex:1 1 0;padding:0 9px;font-size:10px}.import-report .success-message{margin:0 0 14px}@media (max-width:1000px){.legacy-migration-panel,.import-conflict-row{grid-template-columns:1fr;align-items:stretch}.legacy-migration-panel{flex-direction:column}.import-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.import-priority-selector{grid-template-columns:1fr}}.settings-layout{grid-template-columns:1fr 1fr;gap:16px;animation:.28s both page-in;display:grid}.settings-card{padding:22px}.settings-card-heading{border-bottom:1px solid var(--slate-100);align-items:center;gap:12px;padding-bottom:16px;display:flex}.settings-icon{width:42px;height:42px;color:var(--blue-600);background:var(--blue-100);border-radius:12px;place-items:center;display:grid}.settings-icon-danger{color:var(--red-600);background:var(--red-100)}.settings-card-heading h3{margin:0 0 4px;font-size:15px}.settings-card-heading p,.settings-card>p{color:var(--slate-500);margin:0;font-size:11px;line-height:1.7}.profile-block{align-items:center;gap:12px;padding:20px 0;display:flex}.profile-avatar{border-radius:14px;width:48px;height:48px;font-size:17px}.profile-block>div{flex-direction:column;flex:1;gap:3px;display:flex}.profile-block small{color:var(--slate-500);font-size:10px}.settings-detail-row{border-top:1px solid var(--slate-100);color:var(--slate-600);justify-content:space-between;padding:11px 0;font-size:11px;display:flex}.settings-detail-row strong{color:var(--slate-800)}.profile-name-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-bottom:14px;display:grid}.profile-name-form label{color:var(--slate-700);flex-direction:column;gap:7px;font-size:11px;font-weight:700;display:flex}.profile-name-form input{border:1px solid var(--slate-300);border-radius:8px;width:100%;height:40px;padding:0 11px}.password-form{grid-template-columns:1fr 1fr;gap:13px;margin-top:18px;display:grid}.password-form label{color:var(--slate-700);flex-direction:column;gap:7px;font-size:11px;font-weight:700;display:flex}.password-form label:first-child{grid-column:1/-1}.password-form input{border:1px solid var(--slate-300);border-radius:8px;height:40px;padding:0 11px}.password-form p{grid-column:1/-1;margin:0;font-size:11px}.password-form button{grid-column:1/-1;justify-self:start}.success-message{color:var(--green-600)}.error-message{color:var(--red-600)}.settings-danger-zone{border-color:#f0c9c6}.settings-danger-zone>p,.about-card>p{margin:18px 0}.version-tag{color:var(--slate-600);background:var(--slate-100);border-radius:6px;padding:5px 9px;font-family:Consolas,monospace;font-size:10px;display:inline-block}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05122894;place-items:center;padding:24px;animation:.2s fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.modal-card{background:#fff;border-radius:17px;width:min(980px,96vw);max-height:calc(100vh - 48px);animation:.22s modal-in;overflow:hidden;box-shadow:0 30px 90px #06163247}.conflict-modal{width:min(560px,94vw)}.conflict-modal-body{color:var(--amber-600);grid-template-columns:32px 1fr;gap:14px;padding:26px 24px;display:grid}.conflict-modal-body strong{color:var(--slate-800);font-size:14px}.conflict-modal-body p{color:var(--slate-600);margin:8px 0 0;font-size:12px;line-height:1.7}.conflict-modal-footer{justify-content:space-between}@keyframes modal-in{0%{opacity:0;transform:translateY(9px)scale(.99)}}.modal-header,.modal-footer{border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:center;gap:15px;padding:18px 22px;display:flex}.modal-header h2{margin:3px 0 0;font-size:20px}.modal-body{max-height:calc(100vh - 190px);padding:20px 22px;overflow-y:auto}.modal-footer{border-top:1px solid var(--slate-200);background:var(--slate-50);border-bottom:0;justify-content:flex-end}.modal-body fieldset{border:0;margin:0 0 19px;padding:0}.modal-body legend{border-bottom:1px solid var(--slate-100);width:100%;color:var(--slate-800);margin-bottom:12px;padding-bottom:8px;font-size:12px;font-weight:800}.form-grid{grid-template-columns:2fr 1fr;gap:13px;display:grid}.form-grid-three{grid-template-columns:repeat(3,1fr)}.form-field{color:var(--slate-700);flex-direction:column;gap:7px;font-size:11px;font-weight:700;display:flex}.form-field b{color:var(--red-600);margin-left:3px}.form-field input,.form-field select{border:1px solid var(--slate-300);min-width:0;height:40px;color:var(--slate-800);background:#fff;border-radius:8px;padding:0 11px;font-size:12px;font-weight:400}.form-field input:focus,.form-field select:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px #2f73e814}.field-hint{color:var(--amber-600);margin-top:-2px;font-size:9px;font-weight:500;line-height:1.4}.toast{z-index:140;color:#166b45;min-width:300px;box-shadow:var(--shadow-md);background:#f1fff7;border:1px solid #bde8ce;border-radius:11px;grid-template-columns:22px 1fr 24px;align-items:center;gap:9px;padding:14px 15px;font-size:12px;animation:.25s toast-in;display:grid;position:fixed;bottom:24px;right:26px}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.toast button{width:24px;height:24px;color:inherit;background:0 0;border:0;place-items:center;padding:0;display:grid}@media (max-width:1480px){.kpi-grid-dashboard{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-grid-dashboard .kpi-card-wide{grid-column:span 1}.dashboard-main-grid{grid-template-columns:.8fr 1.2fr}.attention-panel{grid-column:1/-1;min-height:auto!important}.attention-panel .attention-item{min-height:62px}}@media (max-width:1180px){.user-chip div,.header-title-group p,.breadcrumb{display:none}.user-chip{min-width:auto}.kpi-grid-dashboard{grid-template-columns:repeat(4,1fr)}.performance-grid{grid-template-columns:repeat(2,1fr)}.performance-grid .kpi-card,.performance-grid .kpi-card-wide,.performance-grid .kpi-card:nth-child(n){grid-column:span 1}.unpaid-summary-card{grid-column:1/-1}.calendar-layout{grid-template-columns:1fr}.calendar-detail-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}.calendar-detail-date{grid-column:1/-1}.section-toolbar,.import-footer{flex-direction:column;align-items:stretch}.toolbar-actions{justify-content:flex-end}.strategy-group{flex-wrap:wrap}}@media (max-width:900px){.login-page{grid-template-columns:1fr}.login-brand-panel{display:none}.login-mobile-brand{color:var(--navy-900);align-items:center;gap:11px;margin-bottom:34px;font-weight:800;display:flex}.sidebar{width:var(--sidebar-collapsed)}.sidebar .brand-name,.sidebar .nav-item span{display:none}.sidebar .brand-lockup,.sidebar .nav-item{justify-content:center;padding-inline:0}.app-main,.app-shell-collapsed .app-main{margin-left:var(--sidebar-collapsed)}.dashboard-main-grid,.reminder-columns,.settings-layout{grid-template-columns:1fr}.attention-panel{grid-column:auto}.reminder-summary-grid{grid-template-columns:1fr 1fr}.calendar-day{min-height:96px;padding:6px}.calendar-event{padding:4px}.filters-row{flex-wrap:wrap}.search-control{width:100%}}@media (max-width:680px){:root{--sidebar-collapsed:0px}.sidebar{transform:translate(-100%)}.app-shell-collapsed .sidebar{width:82px;transform:translate(0)}.app-main,.app-shell-collapsed .app-main{margin-left:0}.mobile-menu-button{display:inline-grid}.app-header{min-height:74px;padding:10px 14px}.header-title-group h1{font-size:17px}.header-import span,.user-chip,.year-select svg{display:none}.header-import{width:40px;min-width:40px;padding:0}.year-select{padding:0 5px}.page-content{padding:15px 13px 30px}.hero-strip{flex-direction:column;align-items:flex-start;padding:22px}.hero-strip h2{font-size:22px}.kpi-grid-dashboard,.performance-grid{grid-template-columns:1fr 1fr}.calendar-toolbar{grid-template-columns:1fr}.calendar-toolbar h2{grid-row:1}.calendar-nav-buttons,.calendar-filter{justify-content:center}.calendar-board{overflow-x:auto}.calendar-weekdays,.calendar-grid,.calendar-legend{min-width:720px}.calendar-detail-panel{grid-template-columns:1fr}.kpi-grid-dashboard .kpi-card,.kpi-grid-dashboard .kpi-card-wide,.performance-grid .kpi-card,.performance-grid .kpi-card-wide{grid-column:span 1}.kpi-card{flex-direction:column;align-items:flex-start;min-height:104px}.dashboard-main-grid>.panel{padding:16px}.status-chart-layout{flex-direction:column}.legend-list{width:100%}.bar-chart{gap:3px}.bar-value{display:none}.reminder-summary-grid,.import-mode-grid{grid-template-columns:1fr}.unpaid-summary-card{grid-template-columns:46px 1fr;gap:14px;padding:18px}.unpaid-summary-card:after{display:none}.unpaid-project-summary{border-top:1px solid var(--slate-200);grid-area:2/1/auto/-1;padding-top:13px}.import-intro,.import-footer,.toolbar-actions{flex-direction:column;align-items:stretch}.strategy-group{flex-direction:column}.strategy-group label{min-width:0}.form-grid,.form-grid-three,.password-form{grid-template-columns:1fr}.password-form label:first-child{grid-column:auto}.modal-backdrop{padding:0}.modal-card{border-radius:0;width:100vw;max-height:100vh}.modal-body{max-height:calc(100vh - 155px)}.toast{min-width:0;bottom:12px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-enterprise-shell{display:block;position:relative}.login-product-panel-visual-only{pointer-events:none;grid-template-rows:minmax(0,1fr);place-items:center;width:auto;position:absolute;inset:0 46% 0 0}.login-product-panel-visual-only .login-visual-scene{opacity:.52;align-self:center;width:min(720px,94%);height:clamp(300px,46vh,470px);margin:0 auto}.login-page-enterprise .login-form-panel{z-index:3;place-items:center;width:100%;min-height:0;display:grid;position:absolute;inset:0}.budget-donut>div{box-shadow:none;background:#fff}.dot-budget-government{background:linear-gradient(135deg,#4d8cf4,#67a6f2)}.dot-budget-nongovernment{background:linear-gradient(135deg,#55bf8a,#f2bd55)}.dashboard-list-backdrop{place-items:start center;padding-top:clamp(150px,23vh,250px)}.dashboard-list-modal{flex-direction:column;height:min(78vh,860px);min-height:min(620px,77vh - 24px);max-height:calc(77vh - 24px);display:flex}.dashboard-list-modal .modal-header{flex:none}.dashboard-list-body{flex-direction:column;flex:1;min-height:0;max-height:none;display:flex}.dashboard-list-body .table-wrap{flex:1;min-height:0;overflow:auto}.calendar-event,.calendar-event-multiline{text-overflow:ellipsis;white-space:nowrap;-webkit-box-orient:initial;-webkit-line-clamp:initial;line-height:normal;display:block;overflow:hidden}.ledger-table th,.ledger-table td,.ledger-table .project-name-cell,.ledger-table .code-cell,.ledger-table .status-badge,.ledger-table .completion-date,.ledger-table .completion-pending-date{color:var(--slate-800);letter-spacing:normal;font-family:inherit;font-size:12px;font-style:normal;font-weight:600}.ledger-table .status-badge,.ledger-table .completion-date,.ledger-table .completion-pending-date{color:inherit}.creation-mode-fieldset{background:var(--slate-50);border-radius:13px;border:1px solid var(--slate-200)!important;padding:15px!important}.creation-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.creation-mode-switch button{border:1px solid var(--slate-200);min-height:64px;color:var(--slate-600);text-align:left;background:#fff;border-radius:11px;align-items:center;gap:11px;padding:11px 13px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:flex}.creation-mode-switch button:hover:not(:disabled){border-color:#acc7f4;transform:translateY(-1px)}.creation-mode-switch button.active{border-color:var(--blue-500);color:var(--blue-700);background:var(--blue-50)}.creation-mode-switch button>span,.creation-mode-switch strong,.creation-mode-switch small{min-width:0;display:block}.creation-mode-switch strong{color:var(--slate-800);font-size:12px}.creation-mode-switch small{color:var(--slate-500);margin-top:4px;font-size:10px}.reuse-project-picker{color:var(--slate-700);gap:7px;margin-top:12px;font-size:11px;font-weight:700;display:grid}.reuse-project-picker select{border:1px solid var(--slate-300);width:100%;height:42px;color:var(--slate-800);background:#fff;border-radius:9px;padding:0 11px}.reuse-project-picker small{color:var(--slate-500);font-size:10px;font-weight:500}.performance-grid{grid-template-rows:repeat(3,minmax(132px,auto));grid-template-columns:repeat(12,minmax(0,1fr))}.performance-grid .kpi-card:first-child{grid-area:1/1/auto/span 4}.performance-grid .kpi-card:nth-child(2){grid-area:1/5/auto/span 4}.performance-grid .kpi-card:nth-child(3){grid-area:2/1/auto/span 4}.performance-grid .kpi-card:nth-child(4){grid-area:2/5/auto/span 4}.performance-grid .kpi-card:nth-child(5){grid-area:3/1/auto/span 4}.performance-grid .kpi-card:nth-child(6){grid-area:3/5/auto/span 4}.unpaid-summary-card{aspect-ratio:1;min-width:0;min-height:0;box-shadow:var(--shadow-sm);background:#fff;border-color:#f4bcb58c;grid-area:1/9/span 3/span 4;grid-template-rows:30% 70%;grid-template-columns:1fr 1fr;align-self:stretch;gap:0;padding:0;display:grid;overflow:hidden}.unpaid-summary-card:after{display:none}.unpaid-amount,.unpaid-count,.unpaid-project-names{flex-direction:column;justify-content:center;min-width:0;padding:clamp(16px,1.6vw,24px);display:flex}.unpaid-amount{border-right:0;grid-area:1/1/span 2;gap:18px}.unpaid-amount>span,.unpaid-count>span,.unpaid-project-names>span{color:var(--slate-700);font-size:12px;font-weight:700;line-height:1.5}.unpaid-amount>span{align-items:center;gap:9px;display:flex}.unpaid-amount .kpi-icon{border-radius:12px;flex:none;width:39px;height:39px;font-style:normal}.unpaid-amount>strong,.unpaid-count>strong{color:var(--slate-950);font-variant-numeric:tabular-nums;font-size:clamp(24px,2vw,31px);line-height:1.2}.unpaid-amount small{color:var(--slate-500);margin-left:5px;font-size:10px;font-weight:500}.unpaid-count{border-bottom:0;grid-area:1/2;gap:6px}.unpaid-count>strong{color:var(--red-600)}.unpaid-project-names{grid-area:2/2;justify-content:flex-start;gap:10px;padding-top:8px}.unpaid-project-names p{color:var(--slate-700);overflow-wrap:anywhere;scrollbar-width:thin;margin:0;font-size:11px;line-height:1.8;overflow:auto}@media (max-width:1180px){.performance-grid{grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.performance-grid .kpi-card:nth-child(n){grid-area:auto/span 1}.unpaid-summary-card{aspect-ratio:2;grid-area:auto/1/auto/-1;justify-self:center;width:min(620px,100%);min-height:310px}}@media (max-width:960px){.login-product-panel-visual-only{display:none}.login-enterprise-shell{place-items:center}}@media (max-width:680px){.dashboard-list-backdrop{place-items:center;padding:0}.dashboard-list-modal{height:100vh;min-height:0;max-height:100vh}.creation-mode-switch{grid-template-columns:1fr}.unpaid-summary-card{aspect-ratio:auto;grid-template-rows:auto auto minmax(180px,1fr);grid-template-columns:1fr;width:100%;min-height:430px}.unpaid-amount,.unpaid-count,.unpaid-project-names{border-bottom:0;border-right:0;grid-area:auto/1}.unpaid-project-names{border-bottom:0}}.ledger-batch-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.ledger-batch-heading{flex-direction:column;gap:3px;min-width:150px;display:flex}.ledger-batch-heading span{color:var(--slate-700);font-size:12px;font-weight:800}.ledger-batch-heading small{color:var(--slate-500);font-size:9px}.ledger-batch-statuses{flex-wrap:wrap;flex:1;justify-content:center;gap:6px;display:flex}.ledger-batch-statuses button{border:1px solid var(--slate-200);min-height:30px;color:var(--slate-600);cursor:pointer;background:#fff;border-radius:999px;align-items:center;padding:0 11px;font-size:10px;font-weight:700;display:inline-flex}.ledger-batch-statuses button.active{color:var(--blue-700);background:var(--blue-50);border-color:#a9c6f8}.ledger-batch-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.ledger-batch-actions>span{color:var(--slate-500);font-size:10px}.import-decision-result{text-align:center;border-radius:8px;justify-content:center;align-items:center;min-width:126px;padding:7px 9px;font-size:10px;font-weight:800;display:inline-flex}.import-decision-skip{color:var(--slate-600);background:var(--slate-100)}.import-decision-insertAsNew{color:#187348;background:#e5f7ee}.import-decision-updateExisting{color:var(--blue-700);background:var(--blue-100)}.column-settings{position:relative}.column-settings>summary{cursor:pointer;list-style:none}.column-settings>summary::-webkit-details-marker{display:none}.column-settings-popover{z-index:40;border:1px solid var(--slate-200);width:340px;max-height:min(560px,70vh);box-shadow:var(--shadow-lg);background:#fff;border-radius:12px;padding:14px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.column-settings-title{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.column-settings-title strong{color:var(--slate-800);font-size:12px}.column-settings-title span{color:var(--slate-500);font-size:9px}.column-setting-row{border-top:1px solid var(--slate-100);grid-template-columns:minmax(130px,1fr) 120px;align-items:center;gap:10px;min-height:36px;display:grid}.column-setting-row label{color:var(--slate-700);align-items:center;gap:7px;font-size:11px;display:flex}.column-setting-row input[type=checkbox]{accent-color:var(--blue-600)}.column-setting-row input[type=range]{width:100%;accent-color:var(--blue-600)}.column-settings-popover>.text-button{margin-top:8px}.ledger-table{table-layout:fixed}.ledger-table th,.ledger-table td{text-overflow:ellipsis;overflow:hidden}.ledger-table .project-name-cell{min-width:0;max-width:none}.ledger-project-name{align-items:center;gap:7px;min-width:0;display:flex}.ledger-project-name>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.ledger-selection-cell{width:48px;text-align:center!important}.ledger-selection-cell input{width:15px;height:15px;accent-color:var(--blue-600);cursor:pointer}.ledger-row-selected>td{background:#f2f7ff}.bid-status-hint{color:var(--blue-700);background:var(--blue-50);border:1px solid #cfe0fb;border-radius:9px;align-items:center;gap:8px;margin-top:11px;padding:9px 11px;font-size:11px;display:flex}.bid-status-hint span{flex:1}.bid-status-hint button{color:#fff;background:var(--blue-600);cursor:pointer;border:0;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:700}.unpaid-summary-card{background:radial-gradient(at 4% 100%,#4d8cf414 0 18%,#0000 19%),radial-gradient(at 22% 103%,#55bf8a0e 0 22%,#0000 23%),#fff;border:1px solid #dfe7f2;grid-template-rows:30% 70%;grid-template-columns:1fr;padding:0;display:block;position:relative}.unpaid-amount{border-bottom:1px solid #dfe7f2;border-right:0;flex-direction:row;grid-area:1/1;justify-content:space-between;align-items:center;gap:clamp(12px,1.2vw,20px);height:30%;padding:0 clamp(24px,2vw,34px);position:absolute;top:0;left:0;right:0}.unpaid-amount>span{white-space:nowrap;flex-wrap:nowrap;flex:auto;min-width:0;font-size:clamp(12px,.95vw,15px)}.unpaid-amount>strong{letter-spacing:-.04em;overflow-wrap:anywhere;text-align:right;flex:0 auto;min-width:0;max-width:58%;font-size:clamp(21px,2vw,34px);line-height:1.1}.unpaid-count{display:none}.unpaid-count>i{width:48px;height:48px;color:var(--blue-600);background:#e0ecff;border-radius:50%;flex:none;place-items:center;font-style:normal;display:grid}.unpaid-count>div{gap:2px;min-width:0;display:grid}.unpaid-count>div strong{color:var(--blue-600);font-size:clamp(26px,2.3vw,38px);line-height:1}.unpaid-count>div span{color:var(--slate-700);font-size:11px}.unpaid-project-names{grid-area:2/1;gap:8px;height:auto;padding:clamp(12px,1vw,16px) clamp(24px,2vw,34px) 0;position:absolute;inset:30% 0 0}.unpaid-project-names>span{border-bottom:1px solid var(--slate-200);color:var(--slate-800);padding:0 0 10px 10px;font-size:13px;position:relative}.unpaid-project-names>span:before{content:"";background:var(--blue-600);border-radius:99px;width:3px;position:absolute;top:2px;bottom:12px;left:0}.unpaid-project-list{scrollbar-width:thin;min-height:0;overflow:auto}.unpaid-project-list>button{border:0;border-bottom:1px solid var(--slate-100);width:100%;color:var(--slate-600);text-align:left;cursor:pointer;background:0 0;justify-content:flex-start;align-items:flex-start;gap:8px;padding:10px 2px;font-size:11px;line-height:1.5;display:flex}.unpaid-project-list>button>span{overflow-wrap:anywhere;flex:auto;min-width:0}.unpaid-project-list>button>strong{color:var(--slate-800);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;margin-left:auto;font-size:11px}.unpaid-project-list>button:before{content:"";background:#70a7f7;border-radius:50%;flex:none;width:6px;height:6px;margin-top:5px}.unpaid-project-list>button:hover{color:var(--blue-700);background:var(--blue-50)}.unpaid-project-list>button:hover>strong{color:var(--blue-700)}.unpaid-project-list>span{color:var(--slate-500);padding:12px 2px;font-size:11px;display:block}@media (max-width:1180px){.ledger-batch-toolbar{flex-wrap:wrap;align-items:flex-start}.ledger-batch-statuses{justify-content:flex-start;width:100%}.unpaid-summary-card{aspect-ratio:1;width:min(520px,100%);min-height:0;padding:0}}@media (max-width:680px){.column-settings-popover{width:auto;position:fixed;top:90px;left:14px;right:14px}.ledger-batch-actions{justify-content:space-between;width:100%}.unpaid-summary-card{aspect-ratio:1;grid-template-rows:30% 70%;grid-template-columns:1fr;min-height:0}.unpaid-amount{border-right:0;border-bottom:1px solid var(--slate-200);grid-area:1/1}.unpaid-project-names{grid-area:2/1}}.avatar,.profile-avatar,.account-list-avatar,.account-avatar-preview{flex:none;overflow:hidden}.avatar img,.profile-avatar img,.account-list-avatar img,.account-avatar-preview img{object-fit:cover;width:100%;height:100%;display:block}.self-avatar-actions,.account-avatar-actions,.account-row-actions{align-items:center;gap:9px;display:flex}.self-avatar-actions{padding:0 0 10px}.self-avatar-actions label,.account-avatar-actions label{cursor:pointer}.self-avatar-actions input,.account-avatar-actions input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.avatar-help{color:var(--slate-500);margin-bottom:12px;font-size:10px;line-height:1.6;display:block}.account-management-page{animation:.28s both page-in}.account-management-panel{padding:22px}.account-management-heading{align-items:flex-start;margin-bottom:18px}.account-management-heading p{color:var(--slate-500);margin:5px 0 0;font-size:11px}.account-list-state{min-height:180px;color:var(--slate-500);place-items:center;font-size:12px;display:grid}.account-table-wrap{border:1px solid var(--slate-200);border-radius:12px;overflow-x:auto}.account-table{border-collapse:collapse;width:100%;min-width:850px}.account-table th,.account-table td{border-bottom:1px solid var(--slate-100);text-align:left;color:var(--slate-600);vertical-align:middle;padding:13px 14px;font-size:11px}.account-table th{color:var(--slate-500);background:var(--slate-50);font-size:10px;font-weight:800}.account-table tbody tr:last-child td{border-bottom:0}.account-table tbody tr:hover{background:#f9fbff}.account-table code{color:var(--slate-700);background:var(--slate-100);border-radius:5px;padding:3px 6px;font-family:Consolas,monospace;font-size:10px}.account-user-cell{align-items:center;gap:10px;display:flex}.account-user-cell>div{flex-direction:column;gap:3px;display:flex}.account-user-cell strong{color:var(--slate-800);font-size:12px}.account-user-cell small{color:var(--blue-600);font-size:9px}.account-list-avatar,.account-avatar-preview{color:#fff;background:linear-gradient(135deg,#5b92f0,#2259d2);place-items:center;font-weight:800;display:grid}.account-list-avatar{border-radius:10px;width:38px;height:38px;font-size:14px}.account-row-actions .icon-button{width:31px;height:31px}.account-modal{width:min(680px,96vw)}.account-modal-compact{width:min(560px,96vw)}.account-avatar-editor{border:1px solid var(--slate-200);background:var(--slate-50);border-radius:12px;grid-template-columns:82px 1fr;align-items:center;gap:16px;margin-bottom:20px;padding:16px;display:grid}.account-avatar-preview{border-radius:16px;width:82px;height:82px;font-size:27px}.account-avatar-editor strong{color:var(--slate-800);font-size:13px}.account-avatar-editor p{color:var(--slate-500);margin:5px 0 10px;font-size:10px;line-height:1.6}.account-security-note{color:var(--slate-600);background:var(--blue-50);border-radius:8px;align-items:flex-start;gap:7px;margin:16px 0 0;padding:10px 12px;font-size:10px;line-height:1.6;display:flex}.account-security-note svg{color:var(--blue-600);flex:none;margin-top:1px}@media (max-width:680px){.account-management-panel{padding:16px}.account-management-heading,.account-avatar-editor{grid-template-columns:1fr}.account-management-heading{flex-direction:column;display:flex}.account-management-heading .primary-button{justify-content:center;width:100%}.account-avatar-editor{text-align:center;justify-items:center}.account-avatar-actions,.self-avatar-actions{flex-wrap:wrap}.profile-name-form{grid-template-columns:1fr}.profile-name-form .secondary-button{justify-content:center}}.welcome-overlay{z-index:220;isolation:isolate;-webkit-backdrop-filter:blur(8px)saturate(.78);backdrop-filter:blur(8px)saturate(.78);background:#ebf5ff9e;place-items:center;padding:24px;animation:1.6s both welcome-overlay-lifecycle;display:grid;position:fixed;inset:0;overflow:hidden}.welcome-overlay:before{z-index:-1;content:"";background:linear-gradient(118deg,#5ca1ff29,#0000 42%),linear-gradient(305deg,#77ddb924,#0000 45%);position:absolute;inset:0}.welcome-ambient{z-index:-1;aspect-ratio:1;filter:blur(78px);opacity:.36;border-radius:50%;width:min(46vw,720px);position:absolute}.welcome-ambient-blue{background:#6cadff;top:-18%;left:-12%}.welcome-ambient-green{background:#9ce4c5;bottom:-24%;right:-12%}.welcome-card{color:#123568;text-align:center;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#f7fcffa3;border:1px solid #fffffff0;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;width:min(610px,100vw - 48px);min-height:390px;padding:clamp(46px,6vw,70px);animation:1.6s cubic-bezier(.2,.75,.25,1) both welcome-card-lifecycle;display:flex;box-shadow:0 34px 90px #2b65ab33,inset 0 1px #ffffffeb}.welcome-greeting{color:#16365f;letter-spacing:-.035em;font-size:clamp(31px,3.5vw,48px);font-weight:400;line-height:1.28}.welcome-greeting strong{color:#0a3474;font-weight:800}.welcome-date{color:#42658f;font-variant-numeric:tabular-nums;letter-spacing:.02em;margin:26px 0 0;font-size:clamp(14px,1.4vw,18px)}.welcome-entering{color:#4d6b8f;border-top:1px solid #5284bc33;width:min(360px,100%);margin-top:52px;padding-top:24px;font-size:13px}.welcome-progress{background:#4d7eb529;border-radius:999px;height:4px;margin-top:15px;overflow:hidden}.welcome-progress i{border-radius:inherit;transform-origin:0;background:linear-gradient(90deg,#3e8af1,#57b6ee);width:100%;height:100%;animation:1.35s cubic-bezier(.15,.7,.22,1) .12s forwards welcome-progress;display:block;transform:scaleX(0);box-shadow:0 0 12px #3e8af15c}@keyframes welcome-overlay-lifecycle{0%{opacity:0}12%,86%{opacity:1}to{opacity:0}}@keyframes welcome-card-lifecycle{0%{opacity:0;transform:translateY(12px)scale(.985)}15%,86%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-5px)scale(.995)}}@keyframes welcome-progress{to{transform:scaleX(1)}}@media (max-width:680px){.welcome-overlay{padding:16px}.welcome-card{border-radius:22px;width:100%;min-height:340px;padding:42px 24px}.welcome-greeting{font-size:clamp(27px,9vw,38px)}.welcome-entering{margin-top:42px}}@media (prefers-reduced-motion:reduce){.welcome-overlay,.welcome-card,.welcome-progress i{animation:none!important}.welcome-progress i{transform:scaleX(.7)}}
