.toast-viewport{position:fixed;z-index:4000;top:max(.85rem,env(safe-area-inset-top,0px));right:max(.85rem,env(safe-area-inset-right,0px));left:auto;display:flex;flex-direction:column;gap:.55rem;width:min(380px,calc(100vw - 1.5rem));pointer-events:none}.toast{pointer-events:auto;display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:start;padding:.8rem .85rem;border-radius:14px;border:1px solid var(--border);background:#fff;box-shadow:0 16px 40px #0b1f3a29;animation:toast-in .28s cubic-bezier(.22,1,.36,1) both;overflow:hidden}.toast.is-leaving{animation:toast-out .22s ease forwards}.toast-accent{width:4px;align-self:stretch;border-radius:99px;margin:.1rem 0}.toast-body{min-width:0;padding-top:.05rem}.toast-title{margin:0;font-family:var(--display);font-size:.92rem;font-weight:700;color:var(--navy);line-height:1.25}.toast-message{margin:.22rem 0 0;font-size:.82rem;color:var(--muted);line-height:1.4;word-break:break-word}.toast-close{border:none;background:transparent;color:var(--muted);width:1.75rem;height:1.75rem;border-radius:8px;cursor:pointer;font-size:1.05rem;line-height:1;display:grid;place-items:center;flex-shrink:0}.toast-close:hover{background:var(--surface-2);color:var(--navy)}.toast-success{border-color:#c6ead8;background:linear-gradient(180deg,#f4fcf8,#fff 55%)}.toast-success .toast-accent{background:var(--success)}.toast-error{border-color:#f0c5c5;background:linear-gradient(180deg,#fff6f6,#fff 55%)}.toast-error .toast-accent{background:var(--danger)}.toast-error .toast-title{color:#b42318}.toast-warning{border-color:#f0d9a8;background:linear-gradient(180deg,#fffaf0,#fff 55%)}.toast-warning .toast-accent{background:var(--warning)}.toast-info{border-color:#c5ddf8;background:linear-gradient(180deg,#f3f8ff,#fff 55%)}.toast-info .toast-accent{background:var(--blue)}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(-8px) scale(.96)}}@media(max-width:640px){.toast-viewport{left:max(.65rem,env(safe-area-inset-left,0px));right:max(.65rem,env(safe-area-inset-right,0px));width:auto}}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3500;background:#0b1f3a8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:1rem;animation:ct-fade-in .18s ease both}.confirm-panel{width:min(420px,100%);background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:0 22px 48px #0b1f3a38;padding:1.25rem 1.2rem 1.1rem;animation:ct-scale-in .24s cubic-bezier(.22,1,.36,1) both}.confirm-icon{width:2.5rem;height:2.5rem;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:1.1rem;margin-bottom:.75rem}.confirm-icon.danger{background:#fff1f1;color:var(--danger);border:1px solid #f0c5c5}.confirm-icon.default{background:var(--blue-soft);color:var(--blue-dark);border:1px solid #c5ddf8}.confirm-panel h2{margin:0 0 .4rem;font-size:1.12rem}.confirm-message{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}.confirm-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.15rem}.confirm-actions .btn{min-width:5.5rem}@media(max-width:520px){.confirm-actions .btn{flex:1 1 auto}}.app-shell{--nav-width: 272px;--topbar-h: 60px;min-height:100vh;background:transparent}.app-frame{min-width:0;min-height:100vh;display:flex;flex-direction:column;transition:margin-left .3s cubic-bezier(.22,1,.36,1)}.app-topbar{position:sticky;top:0;z-index:40;height:var(--topbar-h);display:flex;align-items:center;gap:.75rem;padding:0 40px;padding-top:env(safe-area-inset-top,0);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)}.app-topbar-brand{display:flex;align-items:center;gap:.6rem;min-width:0}.app-topbar-brand img{width:36px;height:36px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid var(--border);padding:2px}.app-topbar-brand strong{display:block;font-family:var(--display);font-size:1rem;color:var(--navy);line-height:1.15;font-weight:700}.app-topbar-brand small{display:block;font-size:.68rem;color:var(--muted);font-weight:650;letter-spacing:.04em;text-transform:uppercase}.app-topbar-meta{margin-left:auto;display:flex;align-items:center;gap:.55rem;min-width:0;font-size:.84rem;font-weight:600;color:var(--muted)}.app-topbar-userchip{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.app-topbar-userchip em{font-style:normal;color:var(--blue-dark);background:var(--blue-soft);border:1px solid rgba(30,144,255,.22);border-radius:999px;padding:.25rem .65rem;font-size:.72rem;text-transform:capitalize;font-weight:700}.app-topbar-avatar{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:800;flex-shrink:0}.app-topbar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:12rem;color:var(--navy)}.nav-toggle{width:var(--tap);height:var(--tap);flex-shrink:0;border:1px solid #d5e0ee;border-radius:12px;background:#f7faff;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease}.nav-toggle:hover{background:#eef4fb;border-color:#b7c9e0}.nav-toggle:active{transform:scale(.96)}.nav-toggle.is-active{background:var(--navy);border-color:var(--navy)}.nav-toggle-icon{position:relative;display:block;width:18px;height:14px}.nav-toggle-icon>span{position:absolute;left:0;display:block;width:18px;height:2px;border-radius:2px;background:var(--navy);transition:transform .25s cubic-bezier(.22,1,.36,1),opacity .2s ease,top .25s cubic-bezier(.22,1,.36,1),background .2s ease,width .2s ease}.nav-toggle-icon>span:nth-child(1){top:0}.nav-toggle-icon>span:nth-child(2){top:6px;width:14px}.nav-toggle-icon>span:nth-child(3){top:12px;width:16px}.nav-toggle:hover .nav-toggle-icon>span:nth-child(2),.nav-toggle:hover .nav-toggle-icon>span:nth-child(3){width:18px}.nav-toggle.is-active .nav-toggle-icon>span{background:#fff;width:18px}.nav-toggle.is-active .nav-toggle-icon>span:nth-child(1){top:6px;transform:rotate(45deg)}.nav-toggle.is-active .nav-toggle-icon>span:nth-child(2){opacity:0;transform:scaleX(0)}.nav-toggle.is-active .nav-toggle-icon>span:nth-child(3){top:6px;transform:rotate(-45deg)}.app-nav{position:fixed;top:0;left:0;z-index:50;width:var(--nav-width);height:100vh;height:100dvh;display:flex;flex-direction:column;gap:.5rem;padding:1.15rem .95rem calc(1rem + env(safe-area-inset-bottom,0));box-sizing:border-box;color:#fff;background:radial-gradient(circle at 20% 0%,rgba(30,144,255,.22),transparent 45%),linear-gradient(165deg,#0e2748,#0a1c34 48%,#071422);transform:translate(-105%);transition:transform .3s cubic-bezier(.22,1,.36,1);box-shadow:none}.app-shell.is-open .app-nav{transform:translate(0);box-shadow:16px 0 48px #07152647}.app-nav-top{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.2rem .2rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.1)}.app-nav-logo{display:inline-flex;line-height:0}.app-nav-logo img{width:132px;background:#fff;border-radius:14px;padding:.5rem .6rem;box-shadow:0 10px 24px #00000038}.app-nav-tag{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;opacity:.75;text-align:center;font-weight:650}.app-nav-links{display:flex;flex-direction:column;gap:.25rem;flex:1;min-height:0;overflow-y:auto;padding:.7rem .1rem}.app-nav-links a{position:relative;display:flex;align-items:center;gap:.7rem;color:#ffffffc7;padding:.78rem .9rem;border-radius:12px;font-weight:650;font-size:.92rem;min-height:var(--tap);transition:background .18s ease,color .18s ease}.app-nav-links a:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:0 3px 3px 0;background:transparent;transition:background .18s ease}.app-nav-links a .nav-dot{width:7px;height:7px;border-radius:50%;background:#ffffff47;flex-shrink:0;transition:background .18s ease,box-shadow .18s ease}.app-nav-links a:hover{background:#ffffff14;color:#fff}.app-nav-links a:hover .nav-dot{background:#ffffff8c}.app-nav-links a.active{background:#1e90ff38;color:#fff}.app-nav-links a.active:before{background:var(--blue)}.app-nav-links a.active .nav-dot{background:#1e90ff;box-shadow:0 0 0 3px #1e90ff47}.app-nav-bottom{margin-top:auto;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.1)}.app-nav-user{display:flex;align-items:center;gap:.65rem;margin-bottom:.7rem;padding:.15rem .2rem}.app-nav-avatar{width:36px;height:36px;border-radius:10px;background:#1e90ff4d;border:1px solid rgba(30,144,255,.4);display:grid;place-items:center;font-weight:800;font-size:.85rem;color:#fff;flex-shrink:0}.app-nav-user-name{display:block;font-weight:700;font-size:.88rem;line-height:1.2}.app-nav-user-role{display:block;font-size:.72rem;opacity:.65;text-transform:capitalize;margin-top:.1rem}.app-nav-logout{width:100%;border:1px solid rgba(255,255,255,.16);background:#ffffff0d;color:#fff;border-radius:12px;padding:.7rem .75rem;min-height:var(--tap);font-weight:700;font-size:.88rem;cursor:pointer;transition:background .18s ease,border-color .18s ease}.app-nav-logout:hover{background:#d6454538;border-color:#d6454566}.app-content{flex:1;width:100%;max-width:none;margin:0;padding:.75rem 40px 1.25rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0))}.app-content table.data tbody tr{transition:background .18s ease}.app-content table.data tbody tr:hover{background:#f0f6ff}.nav-scrim{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:0;margin:0;background:transparent}.app-nav-close{display:none}.app-nav-user-text{min-width:0}@media(min-width:901px){.app-shell.is-open .app-frame{margin-left:var(--nav-width)}.nav-scrim,.app-nav-close{display:none!important}}@media(max-width:900px){.app-shell.is-open .app-frame{margin-left:0}.nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0715268c;opacity:0;pointer-events:none;transition:opacity .28s ease}.app-shell.is-open .nav-scrim{opacity:1;pointer-events:auto}.app-nav{width:min(100vw,360px);max-width:100%;z-index:90;padding:calc(.85rem + env(safe-area-inset-top,0)) .9rem calc(1rem + env(safe-area-inset-bottom,0));border-radius:0 18px 18px 0}.app-shell.is-open .app-nav{box-shadow:20px 0 60px #07152666}.app-topbar{z-index:40;padding-left:5px;padding-right:5px}.app-shell.is-open .app-topbar{pointer-events:none}.app-nav-top{position:relative;flex-direction:row;align-items:center;justify-content:flex-start;gap:.75rem;padding:.15rem 2.75rem .95rem .1rem;text-align:left}.app-nav-logo img{width:108px}.app-nav-tag{display:none}.app-nav-close{display:grid;place-items:center;position:absolute;top:.1rem;right:0;width:42px;height:42px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#ffffff14;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;padding:0}.app-nav-close:hover,.app-nav-close:active{background:#ffffff29}.app-nav-links{padding-top:.85rem}.app-nav-links a{font-size:1rem;padding:.9rem 1rem}.app-topbar-name{display:none}.app-content{padding:.65rem 5px 1.1rem}body.menu-lock{overflow:hidden}}.ct-loader-backdrop{display:grid;place-items:center;width:100%;min-height:40vh;padding:2rem 1rem}.ct-loader-backdrop-page{min-height:100vh;min-height:100dvh;background:radial-gradient(circle at 20% 20%,rgba(30,144,255,.18),transparent 42%),radial-gradient(circle at 80% 10%,rgba(11,31,58,.12),transparent 40%),linear-gradient(160deg,#0b1f3a,#12325a 45%,#1a4a7a)}.ct-loader-backdrop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1900;min-height:100%;background:#0b1f3a73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:1rem}.ct-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;text-align:center}.ct-loader-page .ct-loader-label{color:#ffffffe6}.ct-loader-panel,.ct-loader-inline{padding:1.5rem 1rem}.ct-loader-visual{position:relative;width:96px;height:96px;display:grid;place-items:center}.ct-loader-sm .ct-loader-visual{width:56px;height:56px}.ct-loader-lg .ct-loader-visual{width:120px;height:120px}.ct-loader-core{position:relative;z-index:2;width:58%;height:58%;border-radius:16px;background:#fff;display:grid;place-items:center;box-shadow:0 10px 28px #0b1f3a33,0 0 0 1px #1e90ff26;animation:ct-loader-float 2.4s ease-in-out infinite;overflow:hidden}.ct-loader-sm .ct-loader-core{border-radius:10px}.ct-loader-core img{width:86%;height:86%;object-fit:contain;display:block}.ct-loader-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid transparent;pointer-events:none}.ct-loader-ring-a{border-top-color:var(--blue);border-right-color:#1e90ff59;animation:ct-loader-spin 1.1s linear infinite}.ct-loader-ring-b{top:8px;right:8px;bottom:8px;left:8px;border-bottom-color:var(--navy);border-left-color:#0b1f3a59;animation:ct-loader-spin 1.6s linear infinite reverse}.ct-loader-sm .ct-loader-ring-b{top:5px;right:5px;bottom:5px;left:5px}.ct-loader-glow{position:absolute;top:12%;right:12%;bottom:12%;left:12%;border-radius:50%;background:radial-gradient(circle,rgba(30,144,255,.28),transparent 68%);animation:ct-loader-pulse 2s ease-in-out infinite;z-index:1}.ct-loader-label{margin:0;font-family:var(--display);font-size:.95rem;font-weight:650;color:var(--navy);letter-spacing:.01em}.ct-loader-sm .ct-loader-label{font-size:.82rem}.ct-loader-dots{display:inline-flex;gap:.35rem;align-items:center;height:.5rem}.ct-loader-dots i{width:6px;height:6px;border-radius:50%;background:var(--blue);opacity:.35;animation:ct-loader-dot 1.1s ease-in-out infinite}.ct-loader-page .ct-loader-dots i{background:#7ec4ff}.ct-loader-dots i:nth-child(2){animation-delay:.15s}.ct-loader-dots i:nth-child(3){animation-delay:.3s}@keyframes ct-loader-spin{to{transform:rotate(360deg)}}@keyframes ct-loader-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes ct-loader-pulse{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.05)}}@keyframes ct-loader-dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.ct-loader-ring-a,.ct-loader-ring-b,.ct-loader-core,.ct-loader-glow,.ct-loader-dots i{animation:none}.ct-loader-ring-a{border-color:#1e90ff73}}.login-page{position:relative;overflow:hidden;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1.5rem 40px;background:radial-gradient(circle at 12% 18%,rgba(30,144,255,.22),transparent 42%),radial-gradient(circle at 88% 8%,rgba(11,31,58,.16),transparent 38%),linear-gradient(155deg,#0b1f3a,#12325a 42%,#1a4a7a);animation:ct-fade-in .5s ease both}.login-orb{position:absolute;border-radius:50%;filter:blur(48px);pointer-events:none;z-index:0;animation:ct-orb 14s ease-in-out infinite}.login-orb-a{width:280px;height:280px;background:#1e90ff59;top:6%;left:8%}.login-orb-b{width:220px;height:220px;background:#ffffff1f;bottom:10%;right:10%;animation-delay:-4s}.login-orb-c{width:160px;height:160px;background:#1e90ff33;top:55%;left:45%;animation-delay:-7s}.login-shell{position:relative;z-index:1;width:min(920px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:24px;overflow:hidden;box-shadow:0 28px 64px #07142859;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:ct-scale-in .55s cubic-bezier(.22,1,.36,1) both}.login-brand{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:1rem;padding:2.5rem 2.25rem;color:#fff;background:linear-gradient(165deg,rgba(255,255,255,.08),transparent 50%),linear-gradient(180deg,#0b1f3a59,#0b1f3a8c)}.login-brand-logo{display:inline-flex;justify-content:center;line-height:0;animation:ct-float 5s ease-in-out infinite}.login-brand-logo img{width:min(220px,100%);background:#fff;border-radius:16px;padding:.85rem 1rem;box-shadow:0 16px 36px #00000040;margin:0 auto}.login-brand-copy{margin:0 auto;max-width:28ch;font-size:1.05rem;line-height:1.45;font-weight:500;color:#ffffffe6;animation:ct-fade-up .5s ease .2s both}.login-brand-tag{margin:0;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;opacity:.78;animation:ct-fade-up .5s ease .12s both}.login-card{background:#fffffff7;padding:2rem 1.75rem 1.75rem;display:flex;flex-direction:column;justify-content:center}.login-card-mobile-brand{display:none}.login-card-mobile-brand a{display:inline-flex;justify-content:center;line-height:0}.login-logo{width:min(180px,70%);max-width:200px;height:auto;display:block;margin:0 auto}.login-card-head{margin-bottom:1.15rem;animation:ct-fade-up .45s ease both}.login-card-head h1{font-size:clamp(1.35rem,2.4vw,1.6rem);margin-bottom:.3rem}.login-card-head .muted{margin:0;font-size:.9rem}.login-card .alert{text-align:left;animation:ct-fade-up .35s ease both}.login-card form{display:grid;gap:.95rem}.login-card .form-group{animation:ct-fade-up .45s ease both}.login-card .form-group:nth-child(1){animation-delay:.08s}.login-card .form-group:nth-child(2){animation-delay:.14s}.login-label-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.login-label-row label{margin:0}.login-link-btn{border:none;background:none;color:var(--blue);font-weight:650;font-size:.82rem;cursor:pointer;padding:.2rem;text-decoration:underline;text-underline-offset:2px}.login-link-btn:hover{color:var(--blue-dark)}.login-field-hint{margin:.35rem 0 0;font-size:.8rem;line-height:1.35}.login-submit,.login-back-btn{width:100%;min-height:2.85rem;border-radius:12px;font-size:.95rem}.login-submit{animation:ct-fade-up .45s ease .22s both;background-size:200% 200%;background-image:linear-gradient(135deg,var(--blue),var(--blue-dark),#3aa0ff,var(--blue));background-position:0% 50%;transition:box-shadow .2s ease,filter .2s ease,background-position .45s ease,transform .18s ease}.login-submit:hover:not(:disabled){background-position:100% 50%;box-shadow:0 10px 22px #1e90ff59;filter:brightness(1.05)}.login-submit:active:not(:disabled){transform:translateY(0) scale(.98)}.login-back-btn{margin-top:.15rem}.login-card .password-field input{padding-right:2.8rem}.login-card .password-toggle{opacity:.7}.login-card .password-toggle:hover{background:#1e90ff1f;opacity:1;color:var(--blue-dark)}.login-card .password-toggle svg{width:18px;height:18px}@media(max-width:820px){.login-page{padding-left:0;padding-right:0}.login-shell{grid-template-columns:1fr;width:min(420px,100%)}.login-brand{display:none}.login-card{padding:1.5rem 1.25rem 1.35rem}.login-card-mobile-brand{display:flex;justify-content:center;align-items:center;width:100%;margin-bottom:1rem;text-align:center}.login-card-mobile-brand a{display:inline-flex;margin:0 auto}.login-logo{width:min(180px,70%);margin:0 auto;animation:ct-float 4.5s ease-in-out infinite}.login-card-head{text-align:center}}@media(max-width:420px){.login-page{padding:1rem 0}.login-shell{border-radius:18px}}@media(prefers-reduced-motion:reduce){.login-brand-logo,.login-logo,.login-orb,.login-shell,.login-submit{animation:ct-fade-in .3s ease both}}.accordion{display:flex;flex-direction:column;gap:.65rem}.accordion-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.accordion-item.is-open{border-color:#1e90ff59;box-shadow:var(--shadow)}.accordion-heading{margin:0}.accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.95rem 1rem;min-height:var(--tap);border:none;background:transparent;cursor:pointer;text-align:left;color:var(--navy)}.accordion-trigger:hover{background:var(--surface-2)}.accordion-trigger-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.accordion-title{font-family:var(--display);font-size:.98rem;font-weight:700}.accordion-subtitle{font-size:.78rem;color:var(--muted);font-weight:500}.accordion-chevron{width:10px;height:10px;border-right:2px solid var(--navy-soft);border-bottom:2px solid var(--navy-soft);transform:rotate(45deg);transition:transform .22s ease;flex-shrink:0;margin-top:-4px;opacity:.7}.accordion-item.is-open .accordion-chevron{transform:rotate(-135deg);margin-top:4px;border-color:var(--blue);opacity:1}.accordion-panel-inner{padding:0 1rem 1rem;border-top:1px solid transparent}.accordion-item.is-open .accordion-panel-inner{border-top-color:var(--border);padding-top:.85rem}.accordion-panel[hidden]{display:none}@media(max-width:640px){.accordion-trigger{padding:.9rem .85rem}.accordion-panel-inner{padding:0 .85rem .9rem}}.rdl-mobile{display:none}.rdl-desktop{display:block}.rdl-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.9rem;display:flex;flex-direction:column;gap:.75rem}.rdl-card-top{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.rdl-card-head{min-width:0}.rdl-card-title{margin:0;font-family:var(--display);font-size:.98rem;font-weight:700;color:var(--navy);line-height:1.25}.rdl-card-sub{margin:.2rem 0 0;font-size:.8rem;color:var(--muted)}.rdl-card-aside{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;flex-shrink:0}.rdl-card-amount{font-family:var(--display);font-weight:700;font-size:1rem;color:var(--navy)}.rdl-meta{margin:0;display:grid;gap:.4rem;padding:.65rem .7rem;background:var(--surface-2);border-radius:var(--radius-sm)}.rdl-meta-row{display:flex;justify-content:space-between;gap:.75rem;font-size:.82rem}.rdl-meta-row dt{color:var(--muted);font-weight:650}.rdl-meta-row dd{margin:0;text-align:right;font-weight:600;color:var(--navy);word-break:break-word}.rdl-actions{padding-top:.15rem}.rdl-actions .btn{flex:1 1 auto}.rdl-mobile{display:none;flex-direction:column;gap:.7rem}@media(max-width:900px){.rdl-desktop{display:none}.rdl-mobile{display:flex}}.dashboard-page .page-header{margin-bottom:1rem}.dashboard-filters select{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .65rem;background:#fff;min-height:2.4rem}.dashboard-account-note{margin-bottom:.85rem}.dashboard-quick,.dashboard-kpis,.dashboard-panels{margin-bottom:1rem}.dashboard-kpis .stat-split{font-size:.85rem;font-weight:600}.dashboard-kpis .cell-sub{margin-top:.2rem}.dashboard-span{grid-column:1 / -1}.dashboard-accordion{margin-top:.25rem}.dashboard-project-list{display:flex;flex-direction:column;gap:.5rem}.dashboard-project-accordion .accordion-item{box-shadow:none;background:var(--surface-2)}.dashboard-project-accordion .accordion-item.is-open{background:var(--surface)}.dash-project-body{display:flex;flex-direction:column;gap:.85rem}.dash-project-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.dash-project-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .65rem;display:flex;flex-direction:column;gap:.2rem}.dash-project-stat .muted{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.dash-project-stat strong{font-family:var(--display);font-size:.95rem}.dash-progress-track{height:8px;background:#e4ebf5;border-radius:999px;overflow:hidden}.dash-progress-track-sm{height:6px}.dash-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--navy));transition:width .35s ease}.dash-progress-fill.is-done{background:linear-gradient(90deg,#34c48a,var(--success))}.dash-ms-heading{margin:.15rem 0 0;font-size:.85rem;font-weight:700;color:var(--navy-soft)}.dash-ms-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.65rem}.dash-ms-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:.75rem .8rem;display:flex;flex-direction:column;gap:.55rem}.dash-ms-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.55rem}.dash-ms-title-row{display:flex;gap:.55rem;align-items:flex-start;min-width:0}.dash-ms-sr{flex-shrink:0;width:1.55rem;height:1.55rem;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;font-size:.72rem;font-weight:800;display:grid;place-items:center}.dash-ms-name{display:block;font-size:.88rem;line-height:1.25;color:var(--navy)}.dash-ms-amount{margin-top:.15rem;font-size:.78rem;color:var(--muted);font-weight:650}.dash-ms-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.dash-ms-meta>div{display:flex;flex-direction:column;gap:.12rem}.dash-ms-meta .muted{font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700}.dash-ms-meta strong{font-size:.8rem}.ms-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .5rem;font-size:.7rem;font-weight:700;text-transform:capitalize;white-space:nowrap;flex-shrink:0}.dashboard-month-filter{margin-bottom:.75rem}.dashboard-month-filter select{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .65rem;background:#fff;min-height:2.4rem;width:min(100%,220px)}@media(max-width:900px){.dashboard-filters{width:100%}.dashboard-filters select,.dashboard-filters .btn{flex:1 1 auto}.dash-project-stats,.dash-ms-list{grid-template-columns:1fr}}.analysis-filters select{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .65rem;background:#fff;min-height:2.4rem}.analysis-kpis{margin-bottom:1rem}.chart-card{overflow:hidden}.chart-card h3{margin-bottom:.15rem;font-size:.98rem}.chart-sub{margin:0 0 .55rem;font-size:.78rem}.chart-body{width:100%;min-height:200px}.chart-empty{min-height:160px;display:grid;place-items:center;color:var(--muted);font-size:.85rem;background:var(--surface-2);border-radius:var(--radius-sm);border:1px dashed var(--border)}.progress-track{height:7px;background:#e8eef6;border-radius:999px;overflow:hidden;margin-top:3px;max-width:140px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--navy));border-radius:999px}@media(max-width:900px){.analysis-filters{width:100%}.analysis-filters select{flex:1}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b1f3a80;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;z-index:3200;padding:max(1rem,calc(var(--topbar-h, 60px) + .75rem)) .75rem calc(.75rem + env(safe-area-inset-bottom,0));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:ct-fade-in .2s ease both}.modal-panel{width:min(640px,100%);max-height:calc(100dvh - max(1.5rem,calc(var(--topbar-h, 60px) + 1.5rem)) - 1.5rem);margin:0 auto auto;overflow:auto;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border);animation:ct-scale-in .28s cubic-bezier(.22,1,.36,1) both}.modal-panel.modal-wide{width:min(880px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1.05rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1}.modal-header h2{margin:0;font-size:1.08rem}.modal-body{padding:1rem 1.05rem 1.15rem}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem .9rem}.detail-item label{display:block;font-size:.75rem;font-weight:700;color:var(--muted);margin-bottom:.15rem}.detail-item .value{font-size:.9rem;color:var(--navy);line-height:1.4;word-break:break-word}.detail-item.full{grid-column:1 / -1}.modal-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem;position:sticky;bottom:0;padding-top:.75rem;background:linear-gradient(180deg,transparent,#fff 28%)}.modal-actions .btn{min-height:var(--tap)}@media(max-width:700px){.detail-grid{grid-template-columns:1fr}.modal-backdrop{padding-top:max(.75rem,calc(env(safe-area-inset-top,0px) + .75rem));align-items:stretch}.modal-panel{border-radius:16px;width:100%;margin-bottom:.75rem}.modal-actions .btn{flex:1 1 auto}}.save-status-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3300;display:grid;place-items:center;padding:1rem;background:#0b1f3a8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.save-status-card{width:min(360px,100%);background:#fff;border-radius:16px;padding:1.5rem 1.35rem 1.35rem;text-align:center;box-shadow:0 20px 50px #0b1f3a47;animation:ct-scale-in .28s ease both}.save-status-ct-loader{padding:.25rem 0 .15rem}.save-status-card h3{margin:.55rem 0 .35rem;font-size:1.15rem}.save-status-card p{margin:0 0 1rem;color:var(--muted);font-size:.9rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}.save-status-icon{width:46px;height:46px;margin:0 auto;border-radius:50%;display:grid;place-items:center;font-size:1.35rem;font-weight:800;color:#fff}.save-status-icon.ok{background:var(--success)}.save-status-icon.bad{background:var(--danger)}.save-status-card-failed{border:1px solid #f0c5c5;background:linear-gradient(180deg,#fff7f7,#fff 48%)}.save-status-card-done{border:1px solid #c6ead8;background:linear-gradient(180deg,#f4fcf8,#fff 48%)}.save-status-card-loading{border:1px solid var(--border)}.form-group.field-error input,.form-group.field-error select,.form-group.field-error textarea{border-color:var(--danger)!important;box-shadow:0 0 0 3px #d6454526}.expenses-list-card{padding:.35rem}.expense-form-accordion{margin-bottom:.5rem}.expense-form-accordion .accordion-item{box-shadow:none}.credits-list-card{padding:.35rem}.credit-form-accordion{margin-bottom:.5rem}.credit-form-accordion .accordion-item{box-shadow:none}.project-list{grid-template-columns:1fr;gap:.85rem}.project-list-accordion{display:flex;flex-direction:column;gap:.65rem}.project-card-body{display:flex;flex-direction:column;gap:.85rem}.project-card-actions{display:flex;justify-content:flex-end}.project-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-bottom:.75rem}.project-metrics>div{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .65rem}.project-metrics .muted{display:block;font-size:.72rem;margin-bottom:.15rem}.project-desc{margin:0 0 .75rem;color:var(--muted);font-size:.84rem}.milestone-editor{margin-top:.75rem}.milestone-editor-hint{margin:.35rem 0 .65rem;font-size:.82rem}.milestone-editor-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.milestone-table input,.milestone-table select,.milestone-mobile-card select{width:100%;border:1px solid var(--border);border-radius:8px;padding:.45rem .55rem;font:inherit;font-size:.82rem;background:#fff;min-height:2.35rem}.milestone-date-input{min-width:9.5rem}.milestone-date-field{display:flex;flex-direction:column;gap:.25rem;font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.milestone-date-field input{width:100%;border:1px solid var(--border);border-radius:8px;padding:.45rem .55rem;font:inherit;font-size:.82rem;background:#fff;min-height:2.35rem;text-transform:none;font-weight:600;color:var(--navy);letter-spacing:0}.profit-box{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .75rem;background:var(--surface-2);font-weight:700;font-size:.9rem}.ms-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .5rem;font-size:.72rem;font-weight:700;text-transform:capitalize}.ms-pending{background:#fff4e5;color:#b86e00}.ms-running{background:#e8f1ff;color:#1e5bb8}.ms-completed{background:#e6f8f0;color:#0f9f6e}.milestone-mobile{display:none;flex-direction:column;gap:.55rem}.milestone-mobile-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:.7rem;display:flex;flex-direction:column;gap:.45rem}.milestone-mobile-top{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}.milestone-meta-row{display:flex;flex-wrap:wrap;gap:.75rem 1.1rem;font-size:.82rem;font-weight:600;color:var(--navy)}.milestone-meta-row .muted{font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;margin-right:.25rem}.milestone-desktop{display:block}@media(max-width:900px){.project-metrics{grid-template-columns:1fr 1fr}.milestone-desktop{display:none}.milestone-mobile{display:flex}}.leads-page .lead-pipeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin-bottom:.9rem}.lead-pipe-tile{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:.55rem .65rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;transition:.15s ease}.lead-pipe-tile:hover,.lead-pipe-tile.is-active{border-color:#9dc4f0;background:#f3f8ff}.lead-pipe-tile strong{font-family:var(--display);font-size:1.15rem}.lead-list-accordion{display:flex;flex-direction:column;gap:.65rem}.lead-card-body{display:flex;flex-direction:column;gap:.9rem}.lead-card-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem}.lead-card-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.lead-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.lead-metrics>div,.lead-meta-grid>div{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .65rem}.lead-metrics .muted,.lead-meta-grid .muted{display:block;font-size:.72rem;margin-bottom:.15rem}.lead-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.lead-desc{margin:0;color:var(--muted);font-size:.88rem}.lead-project-link{margin:0;font-size:.9rem}.lead-section h4{margin:0 0 .55rem}.lead-section-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem}.lead-section-head h4{margin:0}.lead-quote-list{display:grid;gap:.55rem}.lead-quote-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.65rem .75rem;background:#fff}.lead-quote-top{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.lead-quote-meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.84rem;margin-bottom:.35rem}.lead-quote-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.45rem}.lead-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.lead-timeline li{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:start;padding:.45rem 0;border-bottom:1px solid var(--border)}.lead-timeline li:last-child{border-bottom:none}.lead-timeline p{margin:.2rem 0 0}.lead-modal-hint{margin:0 0 .85rem}@media(max-width:900px){.leads-page .lead-pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-metrics,.lead-meta-grid{grid-template-columns:1fr}.lead-card-actions{width:100%}.lead-card-actions .btn{flex:1 1 auto}}.settings-page{display:flex;flex-direction:column;gap:.25rem}.settings-section-form{display:flex;flex-direction:column;gap:.85rem}.settings-section-stack{display:flex;flex-direction:column;gap:1.1rem}.settings-mini-title{margin:0;font-family:var(--display);font-size:.9rem;font-weight:700;color:var(--navy-soft)}.settings-form-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.15rem}.account-page{width:100%;max-width:none}.account-summary{margin-bottom:1rem}.account-summary-top{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem}.account-summary-top strong{display:block;font-family:var(--display);font-size:1.1rem;margin-bottom:.35rem}.account-avatar{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.2rem;flex-shrink:0}.account-section{display:flex;flex-direction:column;gap:.75rem}:root{--navy: #0b1f3a;--navy-soft: #152a4a;--blue: #1e90ff;--blue-dark: #1570cc;--blue-soft: rgba(30, 144, 255, .12);--bg: #eef3fa;--surface: #ffffff;--surface-2: #f5f8fc;--border: #d5deed;--text: #0b1f3a;--muted: #5b6b82;--success: #0f9f6e;--danger: #d64545;--warning: #c98512;--shadow-sm: 0 2px 8px rgba(11, 31, 58, .05);--shadow: 0 8px 24px rgba(11, 31, 58, .07);--shadow-md: 0 14px 36px rgba(11, 31, 58, .1);--radius: 14px;--radius-lg: 20px;--radius-sm: 10px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.35rem;--space-6: 1.75rem;--focus-ring: 0 0 0 3px rgba(30, 144, 255, .22);--font: "DM Sans", system-ui, sans-serif;--display: "Outfit", "DM Sans", sans-serif;--text-base: 14px;--tap: 44px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);font-size:var(--text-base);line-height:1.45;color:var(--text);background:radial-gradient(ellipse at 0% 0%,rgba(30,144,255,.07),transparent 42%),radial-gradient(ellipse at 100% 0%,rgba(11,31,58,.04),transparent 40%),var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--blue);text-decoration:none;font-weight:600}button,input,select,textarea{font:inherit;font-size:.9rem}:focus-visible{outline:none;box-shadow:var(--focus-ring)}h1{font-family:var(--display);font-size:1.45rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .25rem}h2{font-family:var(--display);font-size:1.15rem;font-weight:700;margin:0 0 .35rem}h3{font-family:var(--display);font-size:1rem;font-weight:700;margin:0 0 .35rem}.muted{color:var(--muted);font-size:.82rem}.btn{border:none;border-radius:var(--radius-sm);padding:.55rem .9rem;min-height:2.35rem;cursor:pointer;font-weight:650;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;transition:.15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;box-shadow:0 4px 14px #1e90ff47}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--navy)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:#c5d2e6}.btn-danger{background:#fff1f1;color:var(--danger);border:1px solid #f3c4c4}.btn-ghost{background:transparent;color:var(--navy)}.btn-sm{padding:.35rem .6rem;min-height:2rem;font-size:.78rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.85rem}.grid{display:grid;gap:var(--space-3)}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.form-group{display:flex;flex-direction:column;gap:.32rem}.form-group.full{grid-column:1 / -1}.form-group label{font-size:.8rem;font-weight:700;color:var(--navy-soft)}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .7rem;background:#fff;font-size:.88rem;min-height:2.4rem;transition:border-color .15s ease,box-shadow .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--blue);box-shadow:var(--focus-ring)}.form-group textarea{min-height:80px;resize:vertical}.table-wrap{overflow:auto;border-radius:var(--radius-sm)}table.data{width:100%;border-collapse:collapse;font-size:.84rem}table.data th,table.data td{text-align:left;padding:.65rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}table.data th{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;background:var(--surface-2);position:sticky;top:0;z-index:1}.cell-sub{display:block;margin-top:.15rem;color:var(--muted);font-size:.75rem;line-height:1.3}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .5rem;font-size:.72rem;font-weight:700}.badge-debit{background:#ffe8e8;color:var(--danger)}.badge-credit{background:#e6f8f0;color:var(--success)}.badge-info{background:#e8f1ff;color:var(--blue-dark)}.badge-muted{background:#eef2f7;color:var(--muted)}.pos{color:var(--success);font-weight:700}.neg{color:var(--danger);font-weight:700}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;padding:0}.page-header p{font-size:.85rem;margin:.15rem 0 0;color:var(--muted)}.page-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.section-title{font-family:var(--display);font-size:.95rem;font-weight:700;margin:0 0 var(--space-3);display:flex;align-items:center;gap:.5rem}.section-title:before{content:"";width:3px;height:1em;border-radius:2px;background:linear-gradient(180deg,var(--blue),var(--navy));flex-shrink:0}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.stat-tile:after{content:"";position:absolute;top:0;right:0;width:64px;height:64px;background:radial-gradient(circle at 100% 0%,var(--blue-soft),transparent 70%);pointer-events:none}.stat-tile .stat-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .35rem}.stat-tile .stat-value{font-family:var(--display);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--navy)}.stat-tile .stat-hint{margin:.35rem 0 0;font-size:.75rem;color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:999px;background:var(--blue-soft);color:var(--blue-dark);font-size:.75rem;font-weight:700}.empty-state{text-align:center;padding:2.5rem 1.25rem;background:var(--surface);border:1px dashed #c7d4e8;border-radius:var(--radius)}.empty-state h3{margin-bottom:.35rem}.empty-state p{margin:0 0 1rem;color:var(--muted);font-size:.9rem}.action-row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.filters{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:var(--space-3);padding:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.filters input,.filters select{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .65rem;background:#fff;min-width:120px;min-height:2.4rem;font-size:.85rem}.filters input:focus,.filters select:focus{outline:none;border-color:var(--blue);box-shadow:var(--focus-ring)}.filters .filter-search{flex:1 1 200px;min-width:160px}.filter-bar{align-items:center}.alert{padding:.65rem .85rem;border-radius:var(--radius-sm);margin-bottom:var(--space-3);font-size:.85rem}.alert-error{background:#fff1f1;color:var(--danger);border:1px solid #f3c4c4}.alert-success{background:#e8f8ef;color:#0f5132;border:1px solid #b7e4c7}.alert-info{background:#eef6ff;color:var(--navy);border:1px solid #c5ddf8}.offline-banner{position:sticky;top:0;z-index:5000;background:#7a4b00;color:#fff;text-align:center;font-size:.82rem;font-weight:650;padding:.45rem .75rem;box-shadow:var(--shadow-sm)}.page-error{display:grid;place-items:center;min-height:42vh;padding:1.25rem}.page-error-compact{min-height:0;place-items:stretch;padding:0;margin-bottom:1rem}.page-error-card,.error-boundary-card{width:min(480px,100%);background:#fff;border:1px solid #f0c5c5;border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.35rem 1.25rem;display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start}.page-error-card h2,.error-boundary-card h1{margin:0 0 .35rem}.page-error-card .btn,.error-boundary-actions{margin-top:.85rem}.page-error-icon,.error-boundary-icon{width:2.4rem;height:2.4rem;border-radius:12px;display:grid;place-items:center;font-weight:800;background:#fff1f1;color:var(--danger);border:1px solid #f0c5c5}.error-boundary{min-height:100vh;display:grid;place-items:center;padding:1.25rem;background:var(--bg)}.error-boundary-card{grid-template-columns:auto 1fr}.error-boundary-actions{display:flex;flex-wrap:wrap;gap:.5rem}.password-field{position:relative}.password-field input{width:100%;padding-right:3.2rem}.password-toggle{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--navy);font-size:.78rem;font-weight:700;cursor:pointer;padding:.35rem .45rem;min-width:2.4rem;min-height:2.4rem;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.gst-toggle{display:inline-flex;gap:.35rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.25rem}.gst-toggle-btn{border:none;background:transparent;color:var(--muted);font-weight:700;font-size:.85rem;padding:.5rem .9rem;min-height:2.2rem;border-radius:8px;cursor:pointer}.gst-toggle-btn.active{background:#fff;color:var(--navy);box-shadow:0 1px 4px #0b1f3a1f}.row-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.action-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;margin-left:.3rem;padding:0 .28rem;border-radius:999px;background:#d64545;color:#fff;font-size:.68rem;font-weight:700;line-height:1}.ca-comments{display:flex;flex-direction:column;gap:.85rem}.ca-comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem;max-height:280px;overflow:auto}.ca-comment-list li{padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.ca-comment-list li p{margin:.35rem 0 0;white-space:pre-wrap}.ca-comment-list.compact{max-height:none;gap:.35rem}.ca-comment-list.compact li{padding:.35rem 0;border:none;border-radius:0;background:transparent;border-bottom:1px solid var(--border)}.ca-comment-list.compact li:last-child{border-bottom:none}.ca-comment-meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.82rem}.ca-comment-form{display:flex;flex-direction:column;gap:.4rem}.ca-comment-form textarea{width:100%;resize:vertical;min-height:96px}.field-error{border-color:var(--danger)!important}.sticky-page-actions{display:none}@media(max-width:1100px){.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.grid-5,.grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}}@media(max-width:900px){.page-header{flex-direction:column;align-items:stretch}.page-header-actions{width:100%}.page-header-actions .btn{flex:1 1 auto;min-height:var(--tap)}.btn{min-height:var(--tap)}.btn-sm{min-height:2.35rem}.filters{position:sticky;top:58px;z-index:20}.filters input,.filters select{flex:1 1 100%;min-width:0}.sticky-page-actions{display:flex;gap:.5rem;position:sticky;bottom:.75rem;z-index:25;padding:.65rem;margin-top:1rem;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.sticky-page-actions .btn{flex:1}}@media(max-width:640px){h1{font-size:1.25rem}.card{padding:.85rem}}@keyframes ct-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes ct-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ct-scale-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes ct-slide-right{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes ct-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes ct-pulse-soft{0%,to{box-shadow:0 24px 60px #0b1f3a24}50%{box-shadow:0 28px 70px #1e90ff38}}@keyframes ct-shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes ct-orb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-14px) scale(1.05)}66%{transform:translate(-16px,10px) scale(.96)}}@keyframes ct-nav-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes ct-page-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.anim-fade-up{animation:ct-fade-up .55s ease both}.anim-fade-in{animation:ct-fade-in .45s ease both}.anim-scale-in{animation:ct-scale-in .5s cubic-bezier(.22,1,.36,1) both}.anim-delay-1{animation-delay:.08s}.anim-delay-2{animation-delay:.16s}.anim-delay-3{animation-delay:.24s}.anim-delay-4{animation-delay:.32s}.anim-delay-5{animation-delay:.4s}.page-enter{animation:ct-page-in .4s cubic-bezier(.22,1,.36,1) both}.card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}@media(max-width:900px){.card:hover{transform:none}}.btn{transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-primary:hover:not(:disabled){box-shadow:0 8px 20px #1e90ff59}.anim-stagger>.card,.anim-stagger>.grid>.card{animation:ct-fade-up .5s ease both}.anim-stagger>.card:nth-child(1),.anim-stagger>.grid>.card:nth-child(1){animation-delay:.05s}.anim-stagger>.card:nth-child(2),.anim-stagger>.grid>.card:nth-child(2){animation-delay:.1s}.anim-stagger>.card:nth-child(3),.anim-stagger>.grid>.card:nth-child(3){animation-delay:.15s}.anim-stagger>.card:nth-child(4),.anim-stagger>.grid>.card:nth-child(4){animation-delay:.2s}.anim-stagger>.card:nth-child(5),.anim-stagger>.grid>.card:nth-child(5){animation-delay:.25s}.anim-stagger>.card:nth-child(6),.anim-stagger>.grid>.card:nth-child(6){animation-delay:.3s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
