@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box}:root{--brand: #0f766e;--brand-deep: #115e59;--brand-bright: #14b8a6;--brand-soft: rgba(15, 118, 110, .12);--brand-mist: rgba(15, 118, 110, .08);--brand-rgb: 15, 118, 110}html,body,#root{margin:0;min-height:100%}body{font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:15px;line-height:1.5;color:#334155;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%}button,input,select,textarea{font-family:inherit;font-size:inherit}img,svg{max-width:100%}.app-settings-loading,.app-settings-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#64748b;font-size:15px}.app-settings-error p{margin:0;color:#b91c1c;font-weight:500}.app-settings-error small{color:#94a3b8}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;align-items:center;gap:10px;width:min(420px,calc(100vw - 32px));pointer-events:none}.toast{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border-radius:12px;background:#fff;box-shadow:0 10px 40px #0f172a1f,0 0 0 1px #0f172a0f;pointer-events:auto;animation:toast-in .3s ease,toast-out .3s ease 3.7s forwards}.toast--success{border-left:4px solid #22c55e}.toast--success .toast-icon{color:#16a34a;background:#dcfce7}.toast--error{border-left:4px solid #ef4444}.toast--error .toast-icon{color:#dc2626;background:#fef2f2}.toast-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;flex-shrink:0}.toast-icon svg{width:20px;height:20px}.toast-message{flex:1;margin:0;font-size:14px;font-weight:500;color:#0f172a;line-height:1.4}.toast-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:#94a3b8;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.toast-close:hover{background:#f1f5f9;color:#475569}.toast-close svg{width:16px;height:16px}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.sidebar{width:260px;min-height:100vh;background:linear-gradient(180deg,#0f172a,#1e293b);color:#e2e8f0;display:flex;flex-direction:column;flex-shrink:0;border-right:1px solid rgba(255,255,255,.06)}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,var(--brand-bright, #14b8a6),var(--brand-deep, #0f766e));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;letter-spacing:.5px;flex-shrink:0}.sidebar-logo-img{width:42px;height:42px;border-radius:10px;object-fit:contain;background:#fff;padding:4px;flex-shrink:0}.sidebar-brand-text{display:flex;flex-direction:column;line-height:1.3}.sidebar-brand-text strong{font-size:15px;color:#f8fafc;font-weight:600}.sidebar-brand-text span{font-size:11px;color:#94a3b8}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;color:#94a3b8;text-decoration:none;font-size:14px;font-weight:500;transition:background .15s,color .15s}.sidebar-link svg{width:20px;height:20px;flex-shrink:0}.sidebar-link:hover{background:#ffffff0f;color:#e2e8f0}.sidebar-link--active{background:rgba(var(--brand-rgb, 15, 118, 110),.22);color:var(--brand-bright, #5eead4)}.sidebar-link--active:hover{background:rgba(var(--brand-rgb, 15, 118, 110),.28);color:var(--brand-bright, #5eead4)}.sidebar-group{display:flex;flex-direction:column;gap:2px}.sidebar-link--group{width:100%;border:none;background:transparent;cursor:pointer;text-align:left;font:inherit}.sidebar-chevron{width:16px!important;height:16px!important;margin-left:auto;opacity:.7;transition:transform .15s}.sidebar-chevron--open{transform:rotate(180deg)}.sidebar-subnav{display:flex;flex-direction:column;gap:2px;padding:2px 0 6px 20px}.sidebar-sublink{display:block;padding:8px 12px;border-radius:6px;color:#94a3b8;text-decoration:none;font-size:13px;font-weight:500;transition:background .15s,color .15s}.sidebar-sublink:hover{background:#ffffff0f;color:#e2e8f0}.sidebar-sublink--active{background:#0ea5e91f;color:#38bdf8}.sidebar-footer{padding:16px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-user{display:flex;align-items:center;gap:10px;margin-bottom:12px}.sidebar-avatar{width:36px;height:36px;border-radius:50%;background:#334155;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:#f1f5f9}.sidebar-user strong{display:block;font-size:13px;color:#f1f5f9}.sidebar-user span{display:block;font-size:11px;color:#64748b;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:transparent;color:#94a3b8;font-size:13px;cursor:pointer;transition:background .15s,color .15s}.sidebar-logout:hover{background:#ef44441f;border-color:#ef44444d;color:#fca5a5}.sidebar-close-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;padding:0;border:none;border-radius:8px;background:#ffffff14;color:#e2e8f0;cursor:pointer;flex-shrink:0}.sidebar-close-btn svg{width:18px;height:18px}.sidebar-close-btn:hover{background:#ffffff24}@media (max-width: 900px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:100;width:min(300px,86vw);height:100vh;min-height:100vh;transform:translate(-105%);transition:transform .22s ease;box-shadow:12px 0 40px #0f172a59}.sidebar--open{transform:translate(0)}.sidebar-brand{padding:18px 16px}.sidebar-close-btn{display:inline-flex}.sidebar-nav{overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:24px}}.dashboard-shell{display:flex;min-height:100vh;background:#f1f5f9}.dashboard-main{flex:1;display:flex;flex-direction:column;min-width:0}.dashboard-header{padding:28px 32px 0;background:#f1f5f9}.dashboard-header-row{display:flex;align-items:flex-start;gap:12px}.dashboard-header-text{min-width:0;flex:1}.dashboard-header h1{margin:0;font-size:26px;font-weight:600;color:#0f172a;letter-spacing:-.02em}.dashboard-header-sub{margin:6px 0 0;font-size:14px;color:#64748b}.dashboard-menu-btn{display:none;align-items:center;justify-content:center;width:42px;height:42px;margin-top:2px;padding:0;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#0f172a;cursor:pointer;flex-shrink:0;box-shadow:0 1px 2px #0f172a0a}.dashboard-menu-btn svg{width:20px;height:20px}.dashboard-menu-btn:hover{background:#f8fafc;border-color:#cbd5e1}.dashboard-nav-backdrop{display:none}.dashboard-content{flex:1;padding:24px 32px 32px;min-height:0;display:flex;flex-direction:column}@media (max-width: 900px){.dashboard-header{padding:16px 16px 0;position:sticky;top:0;z-index:40;background:#f1f5f9eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dashboard-header h1{font-size:20px}.dashboard-header-sub{display:none}.dashboard-menu-btn{display:inline-flex}.dashboard-content{padding:16px}.dashboard-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;border:none;padding:0;margin:0;background:#0f172a73;cursor:pointer}}@media (max-width: 480px){.dashboard-header{padding:12px 12px 0}.dashboard-content{padding:12px}.dashboard-header h1{font-size:18px}}.login-page{--login-accent: #0ea5e9;--login-accent-deep: #0284c7;--login-violet: #6366f1;--login-surface: #ffffff;--login-text: #0f172a;--login-muted: #64748b;--login-border: #e2e8f0;--login-radius: 12px;--login-font: "Inter", system-ui, -apple-system, sans-serif;min-height:100vh;display:grid;grid-template-columns:1fr 1fr;font-family:var(--login-font)}.login-hero{position:relative;overflow:hidden;background:#030712;display:flex;align-items:center;justify-content:center;padding:48px}.login-hero-glow{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}.login-hero-glow--1{width:420px;height:420px;top:-10%;left:-10%;background:#0ea5e959;animation:login-float 8s ease-in-out infinite}.login-hero-glow--2{width:360px;height:360px;bottom:-5%;right:-5%;background:#6366f14d;animation:login-float 10s ease-in-out infinite reverse}.login-hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at center,black 20%,transparent 75%);mask-image:radial-gradient(ellipse at center,black 20%,transparent 75%)}.login-hero-content{position:relative;z-index:1;max-width:420px;color:#f8fafc}.login-hero-logo span{display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,var(--login-accent),var(--login-violet));font-weight:700;font-size:17px;letter-spacing:.04em;box-shadow:0 8px 32px #0ea5e959}.login-hero-content h1{margin:28px 0 12px;font-size:clamp(28px,4vw,36px);font-weight:700;letter-spacing:-.03em;line-height:1.15}.login-hero-content>p{margin:0 0 36px;font-size:16px;line-height:1.6;color:#94a3b8}.login-hero-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.login-hero-features li{display:flex;align-items:center;gap:12px;font-size:14px;color:#cbd5e1}.login-hero-feature-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#0ea5e926;color:var(--login-accent);font-size:8px;flex-shrink:0}.login-panel{display:flex;align-items:center;justify-content:center;padding:32px 24px;background:#f8fafc}.login-panel-inner{width:100%;max-width:400px;animation:login-fade-in .5s ease-out}.login-panel-header{margin-bottom:32px}.login-panel-logo-mobile{display:none}.login-panel-header h2{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--login-text);letter-spacing:-.03em}.login-panel-header p{margin:0;font-size:15px;color:var(--login-muted)}.login-form{display:flex;flex-direction:column;gap:20px}.login-field label{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:#334155;letter-spacing:.01em}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:14px;display:flex;color:#94a3b8;pointer-events:none;z-index:1}.login-input-icon svg{width:18px;height:18px}.login-input-wrap input{width:100%;padding:13px 44px;border:1.5px solid var(--login-border);border-radius:var(--login-radius);font-size:15px;color:var(--login-text);background:var(--login-surface);transition:border-color .2s,box-shadow .2s,background .2s}.login-input-wrap input::placeholder{color:#94a3b8}.login-input-wrap input:hover:not(:disabled){border-color:#cbd5e1}.login-input-wrap input:focus{outline:none;border-color:var(--login-accent);box-shadow:0 0 0 4px #0ea5e91f}.login-input-wrap input:disabled{opacity:.65;cursor:not-allowed;background:#f1f5f9}.login-password-toggle{position:absolute;right:12px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer;transition:color .15s,background .15s}.login-password-toggle:hover{color:#475569;background:#f1f5f9}.login-password-toggle svg{width:18px;height:18px}.login-error{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--login-radius);color:#b91c1c;font-size:13px;line-height:1.45;animation:login-shake .4s ease}.login-error svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.login-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:4px;padding:14px 20px;border:none;border-radius:var(--login-radius);background:linear-gradient(135deg,var(--login-accent-deep) 0%,var(--login-violet) 100%);color:#fff;font-size:15px;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:0 4px 14px #0ea5e959,0 1px 2px #0000000f;transition:transform .15s,box-shadow .2s,opacity .2s}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #0ea5e966,0 2px 4px #0000000f}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.85;cursor:not-allowed;transform:none}.login-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:login-spin .7s linear infinite}.login-footer{margin-top:40px;text-align:center;font-size:12px;color:#94a3b8}@keyframes login-float{0%,to{transform:translate(0)}50%{transform:translate(20px,16px)}}@keyframes login-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes login-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes login-spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.login-page{grid-template-columns:1fr}.login-hero{display:none}.login-panel{min-height:100vh;background:radial-gradient(ellipse at top,rgba(14,165,233,.08),transparent 55%),#f8fafc}.login-panel-logo-mobile{display:inline-flex;margin-bottom:20px}.login-panel-logo-mobile span{width:48px;height:48px;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(135deg,var(--login-accent),var(--login-violet));font-weight:700;font-size:16px;color:#fff;display:inline-flex}}.dashboard-home{display:flex;flex-direction:column;gap:20px}.dash-intro{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px}.dash-intro h2{margin:0 0 4px;font-size:22px;font-weight:700;color:#0f172a}.dash-intro p{margin:0;font-size:14px;color:#64748b}.dash-intro-actions{display:flex;gap:8px;flex-wrap:wrap}.dash-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #e2e8f0;background:#fff;color:#334155;border-radius:10px;padding:10px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.dash-btn--primary{border-color:transparent;background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.stat-grid--primary{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.stat-card{background:#fff;border-radius:14px;padding:18px 20px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0f172a0a;text-align:left}.stat-card--clickable{cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}.stat-card--clickable:hover{border-color:#cbd5e1;box-shadow:0 8px 20px #0f172a0f;transform:translateY(-1px)}.stat-card--ok{background:linear-gradient(180deg,#f0fdf4,#fff 55%)}.stat-card--warn{background:linear-gradient(180deg,#fffbeb,#fff 55%)}.stat-card--bad{background:linear-gradient(180deg,#fef2f2,#fff 55%)}.stat-card--compact{padding:14px 16px}.stat-card--compact .stat-value{font-size:22px}.stat-label{display:block;font-size:13px;color:#64748b;margin-bottom:8px}.stat-value{display:block;font-size:28px;font-weight:700;color:#0f172a;letter-spacing:-.02em;line-height:1.2}.stat-change{display:block;margin-top:6px;font-size:12px;color:#64748b}.dashboard-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:14px}.dashboard-error button{padding:6px 12px;border:1px solid #fecaca;border-radius:6px;background:#fff;color:#b91c1c;font-size:13px;cursor:pointer}.stat-card--loading .stat-value{color:#94a3b8}.dashboard-muted{margin:0;font-size:14px;color:#64748b}.dashboard-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.dashboard-panels--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.panel{background:#fff;border-radius:14px;padding:20px 22px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0f172a0a}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.panel-head h2,.panel h2{margin:0;font-size:15px;font-weight:700;color:#0f172a}.panel-head a{font-size:13px;color:#0284c7;text-decoration:none;font-weight:600}.panel-head a:hover{text-decoration:underline}.dash-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dash-list-item{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #f1f5f9;border-radius:10px;background:#f8fafc;text-align:left;cursor:pointer;font:inherit}.dash-list-item:hover{border-color:#e2e8f0;background:#f1f5f9}.dash-list-main{display:flex;flex-direction:column;gap:2px;min-width:0}.dash-list-main strong{font-size:13px;color:#0f172a}.dash-list-main span{font-size:12px;color:#64748b}.dash-list-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.dash-list-meta strong{font-size:13px;color:#0f172a}.dash-pill{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#e2e8f0;color:#475569}.dash-pill--bad{background:#dc26261f;color:#b91c1c}.dash-pill--warn{background:#d9770624;color:#b45309}.activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.activity-list li{display:block}.activity-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:0;border:none;background:transparent;text-align:left;cursor:pointer}.activity-item:disabled{cursor:default}.activity-item:not(:disabled):hover .activity-item-title{color:#0ea5e9}.activity-item-text{display:flex;flex-direction:column;gap:2px;min-width:0}.activity-item-title{font-size:14px;font-weight:600;color:#334155}.activity-item-detail{font-size:13px;color:#64748b;line-height:1.4}.activity-item-time{font-size:12px;color:#94a3b8}.activity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:6px}.activity-dot--success{background:#22c55e}.activity-dot--info{background:#0ea5e9}.activity-dot--warning{background:#f59e0b}.dash-quick-panel h2{margin-bottom:14px}.quick-actions{display:flex;flex-direction:column;gap:10px}.quick-actions--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.quick-action{padding:12px 14px;text-align:left;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#334155;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.quick-action:hover{background:#f1f5f9;border-color:#cbd5e1}@media (max-width: 900px){.dash-intro-actions{width:100%}.dash-intro-actions .dash-btn{flex:1;text-align:center;justify-content:center}.stat-grid,.stat-grid--primary{grid-template-columns:1fr 1fr}.dashboard-panels,.dashboard-panels--3{grid-template-columns:1fr}.quick-actions--grid{grid-template-columns:1fr 1fr}}@media (max-width: 520px){.stat-grid,.stat-grid--primary,.quick-actions--grid{grid-template-columns:1fr}}.customer-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:customer-modal-fade .2s ease}.customer-modal{width:100%;max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000059;animation:customer-modal-slide .25s ease}.customer-modal--form{max-width:720px}.customer-modal--wide{max-width:880px}.customer-modal--narrow{max-width:480px}.customer-modal--detail{max-width:560px}.customer-modal--confirm{max-width:420px}.customer-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 28px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.customer-modal-header h2{margin:0;font-size:19px;font-weight:600;color:#0f172a;line-height:1.35}.customer-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:8px;background:#f1f5f9;color:#64748b;cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.customer-modal-close:hover{background:#e2e8f0;color:#0f172a}.customer-modal-close--light{background:#ffffff26;color:#fff}.customer-modal-close--light:hover{background:#ffffff40;color:#fff}.customer-modal-alert{padding:10px 12px;margin-bottom:16px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:13px}.customer-modal--form,.customer-modal--wide{display:flex;flex-direction:column}.customer-modal--form .customer-form,.customer-modal--wide .customer-form{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;overflow:hidden}.customer-modal--form .customer-form-grid,.customer-modal--wide .customer-form-grid{flex:1;overflow-y:auto;padding:20px 28px 12px}.customer-modal--form .customer-modal-alert,.customer-modal--wide .customer-modal-alert{margin:16px 28px 0;flex-shrink:0}.customer-form{padding:0 28px 28px;overflow-y:auto}.customer-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.customer-form-field{display:flex;flex-direction:column;gap:8px;min-width:0}.customer-form-field--full{grid-column:1 / -1}.customer-form-field span{font-size:13px;font-weight:600;color:#475569;line-height:1.45;white-space:normal;word-break:break-word}.customer-form-field input,.customer-form-field select,.customer-form-field textarea{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a;background:#fff;transition:border-color .15s,box-shadow .15s}.customer-form-field input:focus,.customer-form-field select:focus,.customer-form-field textarea:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91f}.customer-form-field textarea{resize:vertical;min-height:60px}.customer-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 28px;border-top:1px solid #e2e8f0;background:#fafbfc;flex-shrink:0}.customer-modal--form .customer-modal-footer,.customer-modal--wide .customer-modal-footer{margin-top:auto}.customer-modal-footer--detail{justify-content:space-between}.customer-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.customer-btn:disabled{opacity:.65;cursor:not-allowed}.customer-btn--primary{border:none;background:linear-gradient(135deg,#0284c7,#4f46e5);color:#fff}.customer-btn--primary:hover:not(:disabled){opacity:.95}.customer-btn--ghost{border:1px solid #e2e8f0;background:#fff;color:#334155}.customer-btn--ghost:hover:not(:disabled){background:#f8fafc}.customer-btn--danger{border:none;background:#dc2626;color:#fff}.customer-btn--danger:hover:not(:disabled){background:#b91c1c}.customer-btn--danger-outline{border:1px solid #fecaca;background:#fff;color:#dc2626}.customer-btn--danger-outline:hover:not(:disabled){background:#fef2f2}.customer-detail-hero{padding:24px;background:linear-gradient(135deg,#0f172a,#1e3a5f);color:#f8fafc}.customer-detail-hero-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.customer-detail-hero h2{margin:0 0 12px;font-size:22px;font-weight:700;letter-spacing:-.02em}.customer-detail-hero-meta{display:flex;align-items:center;gap:12px}.customer-detail-amount{font-size:18px;font-weight:700;color:#38bdf8}.customer-detail-body{padding:20px 24px;overflow-y:auto;max-height:50vh}.customer-detail-section{margin-bottom:24px}.customer-detail-section:last-child{margin-bottom:0}.customer-detail-section h3{margin:0 0 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.customer-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}.customer-detail-item{display:flex;flex-direction:column;gap:4px}.customer-detail-label{font-size:12px;color:#94a3b8;font-weight:500}.customer-detail-value{font-size:14px;color:#0f172a;word-break:break-word}.customer-detail-link{font-size:14px;color:#0284c7;word-break:break-all}.customer-detail-link:hover{text-decoration:underline}.customer-detail-remarks{margin:0;padding:12px 14px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;font-size:14px;color:#334155;line-height:1.5}.customer-delete-icon-wrap{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#fef2f2;color:#dc2626}.customer-delete-content{padding:0 24px 8px}.customer-delete-content h2{margin:0 0 8px;font-size:18px;color:#0f172a}.customer-delete-content p{margin:0;font-size:14px;color:#64748b;line-height:1.5}.customer-form-file-hint{display:block;margin-top:6px;font-size:12px;color:#64748b;word-break:break-all}@keyframes customer-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes customer-modal-slide{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.customer-modal--form .customer-form-grid,.customer-modal--wide .customer-form-grid,.customer-form-grid{grid-template-columns:1fr}}@media (max-width: 600px){.customer-modal-backdrop{padding:0;align-items:stretch}.customer-modal{max-height:100vh;border-radius:0}.customer-modal-header{padding:16px}.customer-modal--form .customer-form-grid,.customer-modal--wide .customer-form-grid{padding:16px 16px 8px}.customer-modal--form .customer-modal-alert,.customer-modal--wide .customer-modal-alert{margin:12px 16px 0}.customer-modal-footer{padding:12px 16px;flex-wrap:wrap}.customer-modal-footer .customer-btn{flex:1;justify-content:center;min-width:120px}.customer-detail-grid{grid-template-columns:1fr}.customer-modal-footer--detail{flex-direction:column-reverse}.customer-modal-footer--detail .customer-btn{width:100%}}.customers-page{display:flex;flex-direction:column;gap:16px}.customers-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.customers-toolbar-right{display:flex;align-items:center;gap:12px;margin-left:auto}.customers-add-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--brand, #0f766e),var(--brand-deep, #115e59));color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px rgba(var(--brand-rgb, 15, 118, 110),.28);transition:transform .15s,box-shadow .15s,opacity .15s;white-space:nowrap}.customers-add-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(var(--brand-rgb, 15, 118, 110),.35)}.customers-add-btn:active{transform:translateY(0)}.customers-search{position:relative;flex:1;min-width:220px;max-width:360px}.customers-search svg{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.customers-search input{width:100%;padding:10px 14px 10px 42px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#0f172a;background:#fff;transition:border-color .15s,box-shadow .15s}.customers-search input:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91f}.customers-count{font-size:13px;color:#64748b;font-weight:500}.customers-table-card{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0f172a0a;overflow:hidden}.customers-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fef2f2;border-bottom:1px solid #fecaca;color:#b91c1c;font-size:13px}.customers-error button{padding:6px 12px;border:1px solid #fecaca;border-radius:6px;background:#fff;color:#b91c1c;font-size:13px;cursor:pointer}.customers-error button:hover{background:#fef2f2}.customers-table-wrap{overflow-x:auto}.customers-table{width:100%;border-collapse:collapse;font-size:14px}.customers-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.customers-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.customers-th-num,.customers-td-num{text-align:right}.customers-th-id,.customers-td-id{width:72px;color:var(--text-muted, #64748b);font-variant-numeric:tabular-nums}.customers-th-actions{width:120px;text-align:center}.customers-actions{display:flex;align-items:center;justify-content:center;gap:6px}.customers-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.customers-action-btn--view{color:#0284c7}.customers-action-btn--view:hover{background:#e0f2fe;border-color:#bae6fd}.customers-action-btn--edit{color:#6366f1}.customers-action-btn--edit:hover{background:#eef2ff;border-color:#c7d2fe}.customers-action-btn--delete{color:#dc2626}.customers-action-btn--delete:hover{background:#fef2f2;border-color:#fecaca}.customers-table td{padding:14px 16px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.customers-table tbody tr:hover{background:#f8fafc}.customers-table tbody tr:last-child td{border-bottom:none}.customers-code{display:inline-block;padding:2px 8px;border-radius:6px;background:#f1f5f9;font-size:12px;font-weight:600;color:#475569;font-family:ui-monospace,Consolas,monospace}.customers-name{font-weight:600;color:#0f172a}.customers-email{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customers-td-date{white-space:nowrap;color:#64748b;font-size:13px}.customers-status{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500;background:#f1f5f9;color:#475569}.customers-status--active{background:#dcfce7;color:#15803d}.customers-status--suspended{background:#fee2e2;color:#b91c1c}.customers-empty{text-align:center;padding:48px 16px!important;color:#64748b}.customers-spinner{display:inline-block;width:18px;height:18px;margin-right:8px;vertical-align:middle;border:2px solid #e2e8f0;border-top-color:#0ea5e9;border-radius:50%;animation:customers-spin .7s linear infinite}.customers-loading-overlay{position:absolute;right:0;left:0;top:auto;bottom:52px;display:flex;align-items:center;justify-content:center;background:#ffffffa6;font-size:13px;color:#64748b;pointer-events:none}.customers-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #e2e8f0;background:#fafbfc}.customers-range{margin:0;font-size:13px;color:#64748b}.customers-range strong{color:#0f172a;font-weight:600}.customers-pagination-actions{display:flex;align-items:center;gap:8px}.customers-page-btn{padding:8px 14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.customers-page-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.customers-page-btn:disabled{opacity:.5;cursor:not-allowed}.customers-page-indicator{padding:0 8px;font-size:13px;color:#64748b;white-space:nowrap}@keyframes customers-spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.customers-toolbar{flex-direction:column;align-items:stretch}.customers-search{max-width:none;min-width:0;width:100%}.customers-toolbar-right{width:100%;margin-left:0;justify-content:space-between;flex-wrap:wrap}.customers-add-btn{flex:1;justify-content:center;min-width:140px}.customers-table-wrap{margin:0 -4px;border-radius:0}.customers-table{font-size:13px}.customers-table th,.customers-table td{padding:10px 12px}.customers-table:not(.customers-table--tickets) th:nth-child(4),.customers-table:not(.customers-table--tickets) td:nth-child(4),.customers-table:not(.customers-table--tickets) th:nth-child(6),.customers-table:not(.customers-table--tickets) td:nth-child(6){display:none}.customers-pagination{flex-direction:column;align-items:stretch}.customers-pagination-actions{width:100%;justify-content:space-between}.customers-page-btn{flex:1}}@media (max-width: 600px){.customers-email{max-width:110px}.customers-action-btn span{display:none}}.pt-tab{display:flex;flex-direction:column;gap:16px}.pt-error{padding:10px 14px;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:14px}.pt-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:auto;box-shadow:0 1px 2px #0f172a0a}.pt-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.pt-summary{display:flex;flex-wrap:wrap;gap:12px}.pt-summary-item{display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:120px}.pt-summary-item span{font-size:12px;color:#64748b;font-weight:500}.pt-summary-item strong{font-size:18px;color:#0f172a;font-weight:700;letter-spacing:-.02em}.pt-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.pt-paid-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.pt-paid-badge--yes{background:#dcfce7;color:#15803d}.pt-paid-badge--no{background:#fef3c7;color:#b45309}.pt-remarks-cell{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-checkbox-field .pt-checkbox{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:14px;color:#334155;cursor:pointer}.pt-checkbox input{width:18px;height:18px;accent-color:#0284c7}.payment-modal{max-width:640px}.payment-modal .customer-modal-header{align-items:flex-start}.payment-modal-heading{display:flex;flex-direction:column;gap:2px;min-width:0}.payment-modal-eyebrow{margin:0;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.payment-modal-form{display:flex;flex-direction:column;min-height:0}.payment-modal-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:18px;padding:20px 28px 16px}.payment-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:12px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0}.payment-summary-main{flex:1;min-width:180px}.payment-summary-label{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin-bottom:4px}.payment-summary-title{margin:0;font-size:17px;font-weight:700;color:#0f172a;line-height:1.3}.payment-summary-meta{margin:6px 0 0;font-size:13px;color:#64748b;line-height:1.45}.payment-summary-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:120px}.payment-summary-amount{font-size:22px;font-weight:700;color:#0284c7;letter-spacing:-.02em}.payment-status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:capitalize}.payment-status-badge--pending{background:#fef3c7;color:#b45309}.payment-status-badge--paid{background:#dcfce7;color:#15803d}.payment-status-badge--overdue{background:#fee2e2;color:#b91c1c}.payment-status-badge--waived{background:#e2e8f0;color:#475569}.payment-status-badge--cancelled{background:#f1f5f9;color:#64748b}.payment-status-badge--default{background:#e0f2fe;color:#0369a1}.payment-section{display:flex;flex-direction:column;gap:12px;padding-top:4px;border-top:1px solid #e2e8f0}.payment-section:first-of-type{border-top:none;padding-top:0}.payment-section-title{margin:0;font-size:14px;font-weight:600;color:#0f172a}.payment-section-hint{margin:-4px 0 0;font-size:13px;color:#64748b;line-height:1.45}.payment-status-grid{display:flex;flex-wrap:wrap;gap:8px}.payment-status-chip{padding:8px 14px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-size:13px;font-weight:600;color:#475569;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s,color .15s}.payment-status-chip:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc}.payment-status-chip:disabled{opacity:.6;cursor:not-allowed}.payment-status-chip--active.payment-status-chip--pending{border-color:#f59e0b;background:#fffbeb;color:#b45309;box-shadow:0 0 0 3px #f59e0b26}.payment-status-chip--active.payment-status-chip--paid{border-color:#22c55e;background:#f0fdf4;color:#15803d;box-shadow:0 0 0 3px #22c55e26}.payment-status-chip--active.payment-status-chip--overdue{border-color:#ef4444;background:#fef2f2;color:#b91c1c;box-shadow:0 0 0 3px #ef44441f}.payment-status-chip--active.payment-status-chip--waived{border-color:#64748b;background:#f8fafc;color:#334155;box-shadow:0 0 0 3px #64748b1f}.payment-status-chip--active.payment-status-chip--cancelled{border-color:#94a3b8;background:#f1f5f9;color:#475569;box-shadow:0 0 0 3px #94a3b826}.payment-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.payment-fields .customer-form-field--full{grid-column:1 / -1}.payment-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;grid-column:1 / -1}.payment-mode-chip{display:flex;align-items:center;justify-content:center;padding:10px 8px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;font-size:12px;font-weight:600;color:#475569;text-align:center;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.payment-mode-chip:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc}.payment-mode-chip--active{border-color:#0ea5e9;background:#f0f9ff;color:#0369a1;box-shadow:0 0 0 3px #0ea5e91f}.payment-mode-chip:disabled{opacity:.6;cursor:not-allowed}.payment-proof-zone{grid-column:1 / -1;display:flex;flex-direction:column;gap:10px}.payment-proof-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px 16px;border:2px dashed #cbd5e1;border-radius:12px;background:#fafbfc;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.payment-proof-drop:hover{border-color:#0ea5e9;background:#f0f9ff}.payment-proof-drop:focus-visible{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91f}.payment-proof-drop strong{font-size:14px;color:#0f172a}.payment-proof-drop span{font-size:12px;color:#64748b}.payment-proof-attached{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:10px;background:#f0fdf4;border:1px solid #bbf7d0}.payment-proof-attached-info{display:flex;flex-direction:column;gap:2px;min-width:0}.payment-proof-attached-info strong{font-size:13px;color:#15803d}.payment-proof-attached-info a{font-size:13px;color:#0284c7;word-break:break-all}.payment-proof-attached-info a:hover{text-decoration:underline}.payment-proof-actions{display:flex;gap:8px;flex-shrink:0}.payment-proof-btn{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid #e2e8f0;background:#fff;color:#475569}.payment-proof-btn:hover:not(:disabled){background:#f8fafc}.payment-proof-btn--danger{border-color:#fecaca;color:#dc2626}.payment-proof-btn--danger:hover:not(:disabled){background:#fef2f2}.payment-paid-panel{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}@media (max-width: 640px){.payment-modal-body{padding:16px 16px 12px}.payment-summary-side{align-items:flex-start;width:100%}.payment-fields{grid-template-columns:1fr}.payment-mode-grid{grid-template-columns:repeat(2,1fr)}.payment-proof-attached{flex-direction:column;align-items:stretch}.payment-proof-actions{justify-content:flex-end}}.searchable-select{position:relative;width:100%}.searchable-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.searchable-select-trigger:hover:not(:disabled){border-color:#cbd5e1}.searchable-select-trigger:focus-visible{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91f}.searchable-select-trigger:disabled{opacity:.65;cursor:not-allowed;background:#f8fafc}.searchable-select-trigger-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-trigger svg{width:16px;height:16px;flex-shrink:0;color:#94a3b8}.searchable-select-dropdown{position:absolute;z-index:50;top:calc(100% + 4px);left:0;right:0;display:flex;flex-direction:column;max-height:280px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 12px 32px #0f172a24;overflow:hidden}.searchable-select-search{padding:10px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.searchable-select-search input{width:100%;padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a}.searchable-select-search input:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91f}.searchable-select-list{margin:0;padding:6px;list-style:none;overflow-y:auto;flex:1}.searchable-select-option{padding:10px 12px;border-radius:6px;font-size:14px;color:#334155;cursor:pointer;line-height:1.35;word-break:break-word}.searchable-select-option:hover,.searchable-select-option--active{background:#f0f9ff;color:#0369a1}.searchable-select-option--selected{background:#e0f2fe;color:#0c4a6e;font-weight:600}.searchable-select-empty{padding:12px;font-size:13px;color:#64748b;text-align:center}.cd-page{display:flex;flex-direction:column;gap:20px;animation:cd-fade-in .35s ease}.cd-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.cd-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:#64748b;text-decoration:none;transition:color .15s}.cd-back:hover{color:#0ea5e9}.cd-topbar-actions{display:flex;gap:10px}.cd-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.cd-btn--ghost{border:1px solid #e2e8f0;background:#fff;color:#334155}.cd-btn--ghost:hover{background:#f8fafc;border-color:#cbd5e1}.cd-btn--primary{border:none;background:linear-gradient(135deg,#0284c7,#4f46e5);color:#fff}.cd-btn--danger{border:1px solid #fecaca;background:#fff;color:#dc2626}.cd-btn--danger:hover{background:#fef2f2}.cd-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px 32px;border-radius:16px;background:linear-gradient(135deg,#0f172a,#1e3a5f 55%,#0f172a);color:#f8fafc;box-shadow:0 12px 40px #0f172a33}.cd-hero-code{display:inline-block;margin-bottom:10px;padding:4px 10px;border-radius:6px;background:#ffffff1f;font-size:12px;font-weight:600;font-family:ui-monospace,Consolas,monospace;letter-spacing:.04em}.cd-hero h1{margin:0 0 14px;font-size:clamp(24px,4vw,32px);font-weight:700;letter-spacing:-.03em;line-height:1.2}.cd-hero-tags{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.cd-hero-id{font-size:13px;color:#94a3b8}.cd-hero-suspend-reason{margin:12px 0 0;max-width:42rem;padding:8px 12px;border-radius:8px;background:#f8717126;border:1px solid rgba(248,113,113,.35);color:#fecaca;font-size:13px;line-height:1.45}.cd-hero-stat{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding:16px 20px;border-radius:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);min-width:160px}.cd-hero-stats{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;flex:1;max-width:560px}.cd-hero-stats-loading{grid-column:1 / -1;padding:16px 20px;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);font-size:13px;color:#94a3b8;text-align:center}.cd-hero-stat-card{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);min-width:0}.cd-hero-stat-card--total .cd-hero-stat-value{color:#38bdf8}.cd-hero-stat-card--paid .cd-hero-stat-value{color:#4ade80}.cd-hero-stat-card--pending .cd-hero-stat-value{color:#fbbf24}.cd-hero-stat-card--overdue .cd-hero-stat-value{color:#f87171}.cd-hero-stat-count{font-size:11px;color:#64748b;margin-top:2px}.cd-hero-stat-label{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.cd-hero-stat-value{font-size:26px;font-weight:700;color:#38bdf8;letter-spacing:-.02em}.cd-hero-stat-value--text{font-size:18px;word-break:break-all;text-align:right;max-width:200px}.cd-tabs-wrap{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.cd-tabs{display:flex;gap:0;padding:0 8px;background:#f8fafc;border-bottom:1px solid #e2e8f0;overflow-x:auto}.cd-tab{position:relative;display:inline-flex;align-items:center;gap:8px;padding:14px 20px;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;color:#64748b;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.cd-tab:hover{color:#0f172a}.cd-tab--active{color:#0284c7;border-bottom-color:#0284c7;background:#fff}.cd-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:11px;font-weight:700}.cd-tab-panel{padding:20px}.cd-tab-panel--hidden{display:none}.cd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.cd-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 22px;box-shadow:0 1px 2px #0f172a0a}.cd-card h3{margin:0 0 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.cd-row{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-bottom:1px solid #f1f5f9}.cd-row:last-child{border-bottom:none;padding-bottom:0}.cd-row:first-of-type{padding-top:0}.cd-row-label{font-size:12px;font-weight:500;color:#94a3b8}.cd-row-value{font-size:14px;color:#0f172a;word-break:break-word;line-height:1.45}.cd-row-link{font-size:14px;color:#0284c7;word-break:break-all;line-height:1.45}.cd-row-link:hover{text-decoration:underline}.cd-remarks{margin:0;padding:14px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;font-size:14px;color:#334155;line-height:1.55}.cd-loading,.cd-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:280px;padding:32px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;color:#64748b}.cd-not-found h2{margin:0;font-size:18px;color:#0f172a}.cd-spinner{width:28px;height:28px;border:3px solid #e2e8f0;border-top-color:#0ea5e9;border-radius:50%;animation:cd-spin .7s linear infinite}@keyframes cd-spin{to{transform:rotate(360deg)}}@keyframes cd-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.cd-hero{padding:22px 20px}.cd-hero h1{font-size:22px;word-break:break-word}.cd-hero-stat{width:100%;align-items:flex-start}.cd-hero-stats{width:100%;max-width:none;grid-template-columns:repeat(2,1fr)}.cd-topbar{flex-direction:column;align-items:stretch}.cd-topbar-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.cd-topbar-actions .cd-btn{flex:1;justify-content:center;width:100%;padding:10px 12px;font-size:13px}.cd-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.cd-tab{white-space:nowrap;flex-shrink:0}}.licenses-page .license-tabs,.licenses-detail .license-tabs{display:flex;gap:6px;margin-bottom:14px}.license-tab{border:1px solid rgba(15,23,42,.12);background:transparent;color:inherit;padding:8px 14px;border-radius:8px;cursor:pointer;font:inherit}.license-tab--active{background:#0f172a14;border-color:#0f172a33;font-weight:600}.license-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;background:#0f172a14}.license-badge--ok{background:#16a34a24;color:#15803d}.license-badge--warn{background:#d9770624;color:#b45309}.license-badge--bad{background:#dc26261f;color:#b91c1c}.license-sub{font-size:12px;opacity:.7;margin-top:2px}.license-filter-select{border:1px solid rgba(15,23,42,.14);border-radius:8px;padding:8px 10px;font:inherit;background:transparent}.license-overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.license-label{display:block;font-size:12px;opacity:.65;margin-bottom:4px}.licenses-detail .cd-topbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}@media (max-width: 900px){.licenses-page .license-tabs,.licenses-detail .license-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px}.license-tab{flex-shrink:0;white-space:nowrap}.license-overview-grid{grid-template-columns:1fr}.license-filter-select{width:100%}}.entity-detail-modal{width:100%;max-width:640px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden}.entity-detail-hero{padding:24px 28px;background:linear-gradient(135deg,#0f172a,#1e3a5f 55%,#0f172a);color:#f8fafc;flex-shrink:0}.entity-detail-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.entity-detail-hero-top h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.25}.entity-detail-badge{display:inline-block;margin-bottom:8px;padding:4px 10px;border-radius:6px;background:#ffffff1f;font-size:12px;font-weight:600;font-family:ui-monospace,Consolas,monospace}.entity-detail-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}.entity-detail-hero-highlight{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);font-size:14px;color:#94a3b8}.entity-detail-hero-highlight strong{display:block;margin-top:4px;font-size:16px;color:#38bdf8;font-weight:600;word-break:break-all}.entity-detail-body{padding:20px 24px 24px;overflow-y:auto;flex:1}.entity-detail-body .cd-grid{gap:12px}.entity-detail-body .cd-card{margin:0}.entity-detail-footer{display:flex;justify-content:space-between;gap:10px;padding:16px 24px;border-top:1px solid #e2e8f0;background:#fafbfc;flex-shrink:0}.entity-detail-footer-actions{display:flex;gap:10px;margin-left:auto}.entity-detail-loading{padding:48px 24px;text-align:center;color:#64748b}.status-form-order-hint{display:block;margin-top:4px;font-size:12px;font-weight:400;color:#64748b;line-height:1.4}.tickets-filters{display:flex;flex-wrap:wrap;gap:12px;padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.tickets-filter-field{display:flex;flex-direction:column;gap:4px;min-width:140px;flex:1;max-width:200px}.tickets-filter-field--customer{min-width:200px;max-width:280px;flex:1.4}.tickets-filter-field span{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.tickets-filter-field select{padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a;background:#fff}.tickets-filter-field select:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91f}.ticket-priority{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize}.ticket-priority--critical{background:#fef2f2;color:#b91c1c}.ticket-priority--high{background:#fff7ed;color:#c2410c}.ticket-priority--medium{background:#fefce8;color:#a16207}.ticket-priority--low{background:#f0fdf4;color:#15803d}.ticket-priority--default{background:#f1f5f9;color:#475569}.ticket-ref{font-family:ui-monospace,monospace;font-size:13px;color:#0369a1;font-weight:600}.ticket-subject{display:block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customers-table--tickets{min-width:720px}.customers-table--tickets th:nth-child(7),.customers-table--tickets .ticket-category-cell{min-width:150px}.ticket-category{display:block;line-height:1.4;white-space:normal;word-break:break-word}@media (max-width: 1100px){.customers-table--tickets th:nth-child(8),.customers-table--tickets td:nth-child(8){display:none}}@media (max-width: 900px){.tickets-filters{padding:12px}.tickets-filter-field,.tickets-filter-field--customer{min-width:0;max-width:none;flex:1 1 100%}.customers-table--tickets{min-width:640px}.customers-table--tickets th:nth-child(2),.customers-table--tickets td:nth-child(2),.customers-table--tickets th:nth-child(7),.customers-table--tickets td:nth-child(7){display:none}.ticket-subject{max-width:140px}}.td-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px 24px}.td-detail-item{display:flex;flex-direction:column;gap:4px}.td-detail-item span{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.td-detail-item strong{font-size:15px;color:#0f172a;font-weight:600}.td-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 24px}.td-section h3{margin:0 0 12px;font-size:15px;font-weight:700;color:#334155}.td-section p{margin:0;font-size:15px;line-height:1.6;color:#475569;white-space:pre-wrap}.td-subject-text{font-size:17px;font-weight:600;color:#0f172a;line-height:1.5}.td-links{display:flex;flex-wrap:wrap;gap:12px}.td-link-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;color:#0369a1;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s}.td-link-btn:hover{background:#f0f9ff;border-color:#7dd3fc}.td-hero-ref{font-family:ui-monospace,monospace;font-size:14px;color:#0369a1;font-weight:600}.company-profile-page{display:flex;flex-direction:column;gap:16px;padding-bottom:40px}.company-profile-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.company-profile-header h1{margin:0;font-size:22px;color:#0f172a}.company-profile-header p{margin:6px 0 0;color:#64748b;font-size:13px;max-width:520px}.company-profile-alert{padding:12px 14px;border-radius:10px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.company-profile-form{display:flex;flex-direction:column;gap:16px}.company-profile-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:14px}.company-profile-card h2{margin:0;font-size:15px;font-weight:700;color:var(--brand-deep, #0f766e)}.company-brand-row{display:grid;grid-template-columns:140px 1fr;gap:18px;align-items:start}.company-logo-box{width:140px;height:140px;border-radius:16px;border:1px dashed #cbd5e1;background:var(--brand-mist, #f0fdfa);display:grid;place-items:center;overflow:hidden;color:#94a3b8;font-size:12px}.company-logo-box img{width:100%;height:100%;object-fit:contain;padding:10px}.company-brand-fields{display:flex;flex-direction:column;gap:12px}.company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.company-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#334155}.company-field--full{grid-column:1 / -1}.company-field input,.company-field textarea{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:400;color:#0f172a;font-family:inherit}.company-field small{font-weight:500;color:#94a3b8}.company-color-row{display:flex;gap:10px;align-items:center}.company-color-row input[type=color]{width:48px;height:42px;padding:4px;border-radius:10px;cursor:pointer}@media (max-width: 760px){.company-brand-row,.company-grid{grid-template-columns:1fr}}.package-deliverables{display:flex;flex-direction:column;gap:10px}.package-deliverables-header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;color:#334155}.package-add-line,.package-remove-line{display:inline-flex;align-items:center;gap:6px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer}.package-add-line:hover,.package-remove-line:hover{border-color:#cbd5e1;background:#f8fafc}.package-remove-line{padding:8px;color:#b91c1c}.package-deliverables-list{display:flex;flex-direction:column;gap:8px}.package-deliverable-row{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center}.package-deliverable-no{font-size:13px;color:#64748b;text-align:right}.package-deliverable-row input{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px}.proposal-status-filter{min-width:150px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;font-size:14px}.proposal-link-btn{text-decoration:none;display:inline-flex;align-items:center}.proposal-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#f1f5f9;color:#334155}.proposal-status--draft{background:#f1f5f9;color:#475569}.proposal-status--sent{background:#e0f2fe;color:#0369a1}.proposal-status--accepted{background:#dcfce7;color:#166534}.proposal-status--rejected{background:#fee2e2;color:#b91c1c}.proposal-form-page{display:flex;flex-direction:column;gap:16px;padding-bottom:40px}.proposal-form-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.proposal-form-header h1{margin:0;font-size:22px;color:#0f172a}.proposal-form-header p{margin:4px 0 0;color:#64748b;font-size:13px}.proposal-form-actions .customers-page-btn,.proposal-preview-toolbar .customers-page-btn{display:inline-flex;align-items:center;gap:6px}.proposal-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:14px}.proposal-card h2{margin:0;font-size:15px;font-weight:700;color:#0f766e}.proposal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.proposal-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#334155}.proposal-field--full{grid-column:1 / -1}.proposal-field input,.proposal-field select,.proposal-field textarea{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:400;color:#0f172a;background:#fff;font-family:inherit}.proposal-field textarea{min-height:110px;resize:vertical;line-height:1.45}.proposal-line-list{display:flex;flex-direction:column;gap:8px}.proposal-line-row{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center}.proposal-cost-row{display:grid;grid-template-columns:28px 1.6fr .7fr .5fr auto;gap:8px;align-items:center}.quotation-service-row{display:grid;grid-template-columns:28px 1fr 1.4fr .55fr .7fr auto;gap:8px;align-items:center}.quotation-service-row input,.quotation-service-row select,.proposal-line-row input,.proposal-cost-row input,.proposal-cost-row select{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px}.quotation-net-total{padding:10px 14px;border-radius:10px;background:var(--brand-mist, #f0fdfa);border:1px solid #cceae4;font-size:16px;font-weight:700;color:var(--brand-deep, #0f766e)}.proposal-alert{padding:12px 14px;border-radius:10px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.proposal-preview-page{display:flex;flex-direction:column;gap:14px;min-height:calc(100vh - 120px)}.proposal-preview-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#fff,#f0fdfa);border:1px solid #cceae4;border-radius:14px;padding:14px 18px;box-shadow:0 8px 24px #0f766e0f}.proposal-preview-frame{flex:1;min-height:74vh;border:1px solid #cfe4df;border-radius:16px;background:radial-gradient(900px 400px at 0% 0%,#d1fae5 0%,transparent 55%),linear-gradient(180deg,#e8f1ef,#dfe8e6);overflow:hidden;box-shadow:inset 0 1px #ffffffb3}.proposal-preview-frame iframe{width:100%;height:100%;min-height:74vh;border:0;background:transparent}@media (max-width: 900px){.proposal-grid,.proposal-cost-row,.quotation-service-row{grid-template-columns:1fr}}.dashboard-content:has(.tasks-board){display:flex;flex-direction:column;min-height:0}.tasks-board{display:flex;flex-direction:column;flex:1;min-height:0;gap:0}.tasks-board--expanded{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#f1f5f9;padding:16px 20px 20px;overflow:hidden}.tasks-board-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-shrink:0;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.tasks-board--expanded .tasks-board-toolbar{margin-bottom:12px;padding-bottom:12px}.tasks-board-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;flex:1;min-width:0}.tasks-board-hint{margin:0;color:var(--text-muted, #64748b);font-size:.9rem}.tasks-board-expand-btn{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;padding:8px 14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.tasks-board-expand-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.tasks-board-expand-btn svg{width:18px;height:18px}.tasks-board-main{flex:1;min-height:0;display:flex;flex-direction:column}.tasks-board-main>.customers-empty,.tasks-board-main>.customers-error{flex:1;display:flex;align-items:center;justify-content:center}.tasks-board-columns{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);gap:1rem;overflow-x:auto;flex:1;min-height:0;align-items:stretch}.tasks-board-column{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;min-height:0;height:100%}.tasks-board-column-header{padding:.85rem 1rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-shrink:0}.tasks-board-column-header h3{margin:0;font-size:.95rem}.tasks-board-column-count{background:#e2e8f0;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600}.tasks-board-column-body{padding:.75rem;display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:0;overflow-y:auto}.tasks-board-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.85rem;box-shadow:0 1px 2px #0f172a0a;cursor:pointer;flex-shrink:0}.tasks-board-card:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0f172a0f}.tasks-board-card-ref{font-size:.75rem;color:#64748b;font-weight:600}.tasks-board-card-subject{margin:.35rem 0 .5rem;font-size:.92rem;font-weight:600;line-height:1.35}.tasks-board-card-meta{display:flex;flex-wrap:wrap;gap:.35rem .75rem;font-size:.78rem;color:#64748b}.tasks-board-empty-column{color:#94a3b8;font-size:.85rem;text-align:center;padding:1rem .5rem}.tasks-board-column--drag-over .tasks-board-column-body{background:#e0f2fe;outline:2px dashed #0ea5e9;outline-offset:-4px;border-radius:8px}.tasks-board--busy{pointer-events:none;opacity:.85}.tasks-board-unassigned{color:#f59e0b;font-style:normal}.task-assign-hint{margin:0 28px 16px;font-size:14px;line-height:1.5;color:#64748b}.tasks-board-card[draggable=true]{cursor:grab}.tasks-board-card[draggable=true]:active{cursor:grabbing;opacity:.85}.change-password-hint{margin:0 28px 16px;font-size:14px;line-height:1.5;color:#64748b}.change-password-hint strong{color:#334155;font-weight:600}.change-password-input-wrap{position:relative;display:flex;align-items:center}.change-password-input-wrap input{width:100%;padding-right:44px}.change-password-toggle{position:absolute;right:4px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.change-password-toggle:hover{color:#0f172a;background:#f1f5f9}.change-password-toggle svg{width:18px;height:18px}.settings-page{max-width:720px}.settings-card+.settings-card{margin-top:20px}.settings-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0f172a0a;padding:24px 28px 8px}.settings-section-title{margin:0 0 6px;font-size:18px;font-weight:600;color:#0f172a}.settings-section-desc{margin:0 0 20px;font-size:14px;color:#64748b}.settings-section-desc strong{color:#334155;font-weight:600}.settings-options{list-style:none;margin:0 -28px;padding:0;border-top:1px solid #e2e8f0}.settings-options li{margin:0}.settings-option{display:flex;align-items:center;gap:14px;width:100%;padding:16px 28px;border:none;background:transparent;text-align:left;cursor:pointer;transition:background .15s}.settings-option:hover{background:#f8fafc}.settings-option-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#e0f2fe;color:#0369a1}.settings-option-icon svg{width:20px;height:20px}.settings-option-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.settings-option-label{font-size:15px;font-weight:600;color:#0f172a}.settings-option-hint{font-size:13px;color:#64748b}.settings-option-chevron{flex-shrink:0;color:#94a3b8}.settings-option-chevron svg{width:20px;height:20px}.contract-modal.customer-modal--wide{max-width:920px;width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 32px)}.contract-modal .customer-form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:0}.contract-modal-body{flex:1;min-height:0;overflow-y:auto;padding:8px 28px 20px;display:flex;flex-direction:column;gap:18px}.contract-section{border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:16px 18px 18px}.contract-section--plain{background:#fff}.contract-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.contract-section-head h3{margin:0;font-size:14px;font-weight:700;color:#0f172a;letter-spacing:.01em}.contract-section-head p{margin:4px 0 0;font-size:12px;line-height:1.45;color:#64748b}.contract-section .customer-form-grid{flex:none;overflow:visible;padding:0}.contract-fee-type-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.contract-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:999px;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.contract-chip:hover:not(:disabled){border-color:#94a3b8}.contract-chip--active{border-color:#0284c7;background:#e0f2fe;color:#0369a1}.contract-chip:disabled{opacity:.6;cursor:not-allowed}.contract-schedule{margin-top:4px}.contract-schedule-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.contract-schedule-total{font-size:13px;color:#475569}.contract-schedule-total strong{color:#0f172a}.contract-schedule-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.contract-schedule-table th{text-align:left;font-size:12px;font-weight:600;color:#64748b;background:#f1f5f9;padding:10px 12px;border-bottom:1px solid #e2e8f0}.contract-schedule-table td{padding:8px 10px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.contract-schedule-table tr:last-child td{border-bottom:none}.contract-schedule-table input{width:100%;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a;background:#fff;box-sizing:border-box}.contract-schedule-table input:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91f}.contract-schedule-num{width:40px;text-align:center;color:#94a3b8;font-size:13px;font-weight:600}.contract-schedule-actions{width:72px}.contract-icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #e2e8f0;background:#fff;color:#64748b;border-radius:8px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1}.contract-icon-btn:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;color:#dc2626}.contract-icon-btn:disabled{opacity:.5;cursor:not-allowed}.contract-empty{margin:0;padding:16px;text-align:center;font-size:13px;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:10px}.contract-other-fee-row{display:grid;grid-template-columns:1.4fr .9fr .7fr auto;gap:10px;align-items:end;padding:10px;margin-bottom:8px;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.contract-other-fee-row .customer-form-field{margin:0}.contract-file-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.contract-file-name{font-size:12px;color:#64748b;word-break:break-all}@media (max-width: 720px){.contract-other-fee-row{grid-template-columns:1fr}.contract-schedule-table th:nth-child(1),.contract-schedule-table td:nth-child(1){display:none}}.renew-modal .customer-modal-header{align-items:flex-start}.renew-modal-heading{display:flex;flex-direction:column;gap:2px;min-width:0}.renew-modal-eyebrow{margin:0;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.renew-modal-form{display:flex;flex-direction:column;gap:0}.renew-modal-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:18px;padding:20px 28px 16px}.renew-modal .renew-form-grid{padding:0;overflow:visible;flex:none}.renew-current{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.renew-current-label{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin-bottom:4px}.renew-current-key{display:block;font-size:16px;font-weight:700;color:#0f172a;word-break:break-all}.renew-current-meta{margin:6px 0 0;font-size:13px;color:#64748b}.renew-current-side{min-width:110px;text-align:right}.renew-current-side span{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin-bottom:4px}.renew-current-side strong{font-size:15px;color:#0f172a}.renew-notice{margin:0;padding:10px 12px;border-radius:8px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:13px;line-height:1.45}.renew-section{display:flex;flex-direction:column;gap:12px;padding-top:4px;border-top:1px solid #e2e8f0}.renew-section-title{margin:0;font-size:14px;font-weight:600;color:#0f172a}.renew-fee-type{display:grid;grid-template-columns:1fr 1fr;gap:10px}.renew-fee-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.renew-fee-option strong{font-size:14px;color:#0f172a}.renew-fee-option span{font-size:12px;color:#64748b}.renew-fee-option:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc}.renew-fee-option--active{border-color:#0ea5e9;background:#f0f9ff;box-shadow:0 0 0 3px #0ea5e91f}.renew-fee-option:disabled{opacity:.65;cursor:not-allowed}.renew-amount-field{max-width:240px}.renew-schedule-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0;font-size:13px;color:#64748b}.renew-schedule-total strong{font-size:16px;color:#0f172a}@media (max-width: 640px){.renew-fee-type{grid-template-columns:1fr}.renew-current-side{text-align:left}}.reports-page .reports-hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:4px}.reports-page .reports-hero h2{margin:0 0 4px;font-size:22px;font-weight:700;color:#0f172a}.reports-page .reports-hero p{margin:0;font-size:14px;color:#64748b;max-width:520px}.reports-hero-stats{display:flex;gap:18px}.reports-hero-stats>div{min-width:110px;padding:10px 14px;border-radius:12px;background:#fff;border:1px solid #e2e8f0}.reports-hero-stats span{display:block;font-size:12px;color:#64748b;margin-bottom:4px}.reports-hero-stats strong{font-size:18px;color:#0f172a}.reports-filters{margin-bottom:12px}@media (max-width: 900px){.reports-page .reports-hero{align-items:stretch}.reports-page .reports-hero h2{font-size:20px}.reports-hero-stats{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.reports-hero-stats>div{min-width:0}}@media (max-width: 480px){.reports-hero-stats{grid-template-columns:1fr}}
