:root{color:#0f172a;background:#eef4f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:18px;color:#e2e8f0;background:#0f172a}.app-title{display:flex;align-items:center;gap:10px;padding:10px 8px 24px;color:inherit;font-weight:800;background:transparent;border:0}.brand-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;color:#f8fafc;background:linear-gradient(135deg,#0284c7,#16a34a);border-radius:16px;box-shadow:0 18px 45px #0ea5e93d}.brand-icon.small{width:34px;height:34px;border-radius:10px}.sidebar nav{display:grid;gap:8px}.nav-item{display:flex;align-items:center;gap:10px;padding:12px;color:#cbd5e1;text-align:left;background:transparent;border:0;border-radius:12px}.nav-item:hover,.nav-item.active{color:#f8fafc;background:#ffffff17}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:20px;margin-top:auto;border-top:1px solid rgb(255 255 255 / 10%)}.content{width:100%;max-width:1480px;padding:28px;margin:0 auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.page-header h2{margin:0;font-size:32px;line-height:1.15}.page-header p{margin:6px 0 0;color:#64748b}.button-row,.link-row{display:flex;flex-wrap:wrap;gap:10px}.primary-button,.secondary-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;color:#fff;font-weight:700;text-decoration:none;background:#0284c7;border:0;border-radius:10px}.primary-button:hover{background:#0369a1}.secondary-button{color:#0f172a;background:#e2e8f0}.secondary-button:hover{background:#cbd5e1}.icon-button{width:38px;min-height:38px;padding:0;color:#e2e8f0;background:#ffffff1a}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.sim-card{display:flex;flex-direction:column;gap:16px;min-height:208px;padding:18px;text-align:left;background:#fff;border:1px solid #dbe5ee;border-radius:18px;box-shadow:0 18px 45px #0f172a12}.sim-card:hover{transform:translateY(-2px);border-color:#93c5fd;box-shadow:0 22px 55px #0284c726}.sim-card.device{min-height:150px}.sim-card-top{display:flex;justify-content:space-between;gap:12px}.sim-card h3,.panel h3{margin:0}.sim-card p{margin:6px 0 0;color:#64748b;word-break:break-word}.status{align-self:flex-start;padding:5px 9px;color:#0369a1;font-size:12px;font-weight:800;background:#e0f2fe;border-radius:999px}.status.expired{color:#b91c1c;background:#fee2e2}.status.inactive{color:#a16207;background:#fef3c7}.metric-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric{display:grid;gap:2px;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.metric small{color:#64748b}.metric strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline{display:flex;flex-wrap:wrap;gap:8px}.timeline.empty,.empty,.state{padding:18px;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px}.compact-empty{padding:12px}.pill{padding:7px 10px;font-size:12px;font-weight:800;border-radius:999px}.pill.card_expiry{color:#1d4ed8;background:#dbeafe}.pill.package_expiry{color:#047857;background:#d1fae5}.pill.balance_zero{color:#c2410c;background:#ffedd5}.pill.activation_deadline{color:#7e22ce;background:#f3e8ff}.pill.danger{color:#b91c1c;background:#fee2e2}.overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,.8fr);gap:16px;align-items:stretch}.countdown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.countdown-card{display:grid;gap:5px;min-height:92px;padding:13px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px}.countdown-card span{color:#64748b;font-size:13px;font-weight:800}.countdown-card strong{font-size:22px;line-height:1.1}.countdown-card small{color:#64748b}.countdown-card.card_expiry{border-color:#bfdbfe;background:#eff6ff}.countdown-card.package_expiry{border-color:#bbf7d0;background:#f0fdf4}.countdown-card.balance_zero{border-color:#fed7aa;background:#fff7ed}.countdown-card.activation_deadline{border-color:#e9d5ff;background:#faf5ff}.countdown-card.danger{border-color:#fecaca;background:#fef2f2}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel{padding:18px;margin-bottom:16px;background:#fff;border:1px solid #dbe5ee;border-radius:18px;box-shadow:0 12px 34px #0f172a0f}.panel>h3{margin-bottom:16px;font-size:18px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.info-item{display:grid;gap:5px;min-width:0;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.info-item span{color:#64748b;font-size:13px;font-weight:800}.info-item strong{overflow-wrap:anywhere}.link-row{margin-top:14px}.note-box{padding:12px;margin:14px 0 0;color:#334155;white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.wide{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:grid;gap:7px;color:#334155;font-size:14px;font-weight:750}input,select,textarea{width:100%;min-height:40px;padding:9px 11px;color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;outline:none}input:focus,select:focus,textarea:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0ea5e926}textarea{min-height:110px;resize:vertical}.span-2{grid-column:span 2}.checkbox-row{display:flex;align-items:center;gap:8px;grid-column:span 2;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.checkbox-row.compact{grid-column:auto;min-height:40px}.checkbox-row input{width:auto;min-height:auto}.form-actions{display:flex;justify-content:flex-end;gap:10px}.mini-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px}.list-stack{display:grid;gap:10px}.line-card{display:grid;gap:4px;width:100%;padding:12px;text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.line-card.clickable:hover{background:#e0f2fe}.line-card span,.line-card small{color:#64748b}.income{color:#15803d}.expense{color:#b91c1c}.balance-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.qr-preview{display:flex;align-items:center;justify-content:center;min-height:160px;background:#f8fafc;border-radius:14px}.qr-preview img{width:min(180px,78%);height:auto}.pdf-box{display:grid;gap:12px}.pdf-toolbar{display:flex;align-items:center;gap:10px}.pdf-box canvas{width:100%;height:auto;background:#fff;border:1px solid #cbd5e1;border-radius:12px}.selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:14px}.select-card{display:grid;grid-template-columns:auto 1fr;column-gap:8px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.select-card input{grid-row:span 2;width:auto;min-height:auto}.select-card small{color:#64748b}.label-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.label-preview{display:block;width:100%;margin-bottom:12px;background:#fff;border-radius:12px}.knowledge-layout{display:grid;grid-template-columns:360px 1fr;gap:16px}.markdown-preview{padding:16px;margin-top:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.markdown-preview :first-child{margin-top:0}.markdown-preview :last-child{margin-bottom:0}.login-page,.splash{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(circle at 20% 20%,rgb(14 165 233 / 16%),transparent 35%),radial-gradient(circle at 80% 10%,rgb(34 197 94 / 13%),transparent 30%),#eef4f8}.login-panel{width:min(440px,100%);padding:26px;background:#ffffffeb;border:1px solid #dbe5ee;border-radius:22px;box-shadow:0 24px 70px #0f172a24}.brand-row{display:flex;align-items:center;gap:14px;margin-bottom:24px}.brand-row h1{margin:0}.brand-row p{margin:4px 0 0;color:#64748b}.logo-card{display:grid;place-items:center;width:86px;height:86px;color:#fff;background:linear-gradient(135deg,#0284c7,#16a34a);border-radius:26px}.error{color:#b91c1c}.hint{color:#64748b}.top-space{margin-top:16px}.floating-refresh{position:fixed;right:24px;bottom:24px;display:grid;place-items:center;width:48px;height:48px;color:#fff;background:#0f172a;border:0;border-radius:50%;box-shadow:0 14px 35px #0f172a40}.toast-stack{position:fixed;right:24px;top:18px;z-index:5;display:grid;gap:8px}.toast{display:flex;align-items:center;gap:8px;max-width:420px;padding:12px 14px;color:#0f172a;background:#ecfeff;border:1px solid #67e8f9;border-radius:12px;box-shadow:0 14px 30px #0f172a1f}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:18px}.page-header,.detail-grid,.overview-grid,.knowledge-layout{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column}.form-grid,.form-grid.wide,.balance-head{grid-template-columns:1fr}.span-2,.checkbox-row{grid-column:auto}}@media(max-width:560px){.sidebar nav{grid-template-columns:1fr}.metric-row{grid-template-columns:1fr}.pdf-toolbar{align-items:stretch;flex-direction:column}.countdown-grid{grid-template-columns:1fr}}
