:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#172033;background:#f5f7fa}*{box-sizing:border-box}body{margin:0}.topbar{height:64px;background:#fff;border-bottom:1px solid #e3e7ee;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.brand{font-weight:800;color:#172033;text-decoration:none;white-space:nowrap}.topbar nav{display:flex;gap:12px;align-items:center;font-size:13px}.topbar a{color:#33415c;text-decoration:none}.container{max-width:1360px;margin:34px auto;padding:0 28px}.muted{color:#6b7280}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.card{background:#fff;border:1px solid #e4e8ef;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:12px}.card strong{font-size:28px}.button,button{background:#172033;color:#fff;border:0;border-radius:9px;padding:10px 14px;text-decoration:none;cursor:pointer;font-weight:600}.button:hover,button:hover{filter:brightness(1.08)}.button-secondary{background:#fff!important;color:#172033!important;border:1px solid #cfd6e2!important}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:20px}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e4e8ef}th,td{padding:12px 14px;border-bottom:1px solid #eef1f5;text-align:left}th{font-size:13px;color:#606b80;background:#fafbfc}.right{text-align:right}.form-card{background:#fff;border:1px solid #e4e8ef;border-radius:12px;padding:22px;max-width:440px;display:grid;gap:15px}.form-card.wide{max-width:860px;grid-template-columns:1fr 1fr}.form-card label{font-weight:600}.form-field{display:grid;gap:6px}.form-card input,.form-card select{padding:10px;border:1px solid #cfd6e2;border-radius:7px;width:100%;background:#fff}.checkbox{display:flex!important;grid-column:1/-1;gap:8px;align-items:center}.checkbox input{width:auto}.form-span{grid-column:1/-1}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.validation{color:#b42318}.inline{display:inline}.cash-report{background:#fff;border:1px solid #dfe4ec;border-radius:12px;padding:30px;max-width:960px;margin:0 auto}.cash-report-title{text-align:center;display:grid;gap:6px;font-size:18px;margin-bottom:28px}.cash-report-title strong{font-size:20px}.cash-report-group{margin:22px 0}.cash-report-group-head,.cash-report-row,.cash-report-total{display:flex;justify-content:space-between;gap:24px}.cash-report-group-head{padding-bottom:7px;border-bottom:1px solid #dfe4ec}.cash-report-line{padding:10px 0 6px}.cash-report-detail{font-size:14px;color:#4b5563;margin-top:4px;padding-left:16px}.cash-report-empty{padding:12px 0}.cash-report-total{margin-top:28px;padding-top:14px;border-top:2px solid #172033;font-size:18px}.liquidity-panel{background:#fff;border:1px solid #dfe4ec;border-left:5px solid #64748b;border-radius:14px;padding:22px;margin:0 0 24px}.liquidity-panel.compact{margin:0;height:100%}.liquidity-panel.risk-good{border-left-color:#17803d}.liquidity-panel.risk-neutral{border-left-color:#5273b8}.liquidity-panel.risk-warning{border-left-color:#b7791f}.liquidity-panel.risk-danger{border-left-color:#b42318}.liquidity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.liquidity-head h2{margin:4px 0 0;font-size:24px}.section-kicker{font-size:12px;font-weight:800;letter-spacing:.08em;color:#667085}.coverage-badge{min-width:145px;text-align:right}.coverage-badge span{display:block;font-size:12px;color:#667085}.coverage-badge strong{font-size:24px}.liquidity-message{margin:14px 0 18px;line-height:1.55}.liquidity-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.liquidity-metrics.five{grid-template-columns:repeat(5,1fr)}.liquidity-metrics>div{background:#f8fafc;border:1px solid #e5e9f0;border-radius:10px;padding:14px;display:grid;gap:7px}.liquidity-metrics span{font-size:13px;color:#5f6b7a}.liquidity-metrics strong{font-size:20px}.liquidity-metrics small{color:#7b8493;line-height:1.35}.data-alert{margin-top:16px;background:#fff8e7;border:1px solid #f1d59d;border-radius:9px;padding:12px 14px;line-height:1.5;color:#694f1d}.success-box,.warning-box{border-radius:10px;padding:14px 16px;margin:16px 0}.success-box{background:#ecfdf3;border:1px solid #a6f4c5;color:#067647}.warning-box{background:#fff8e7;border:1px solid #f4cf86;color:#8a4b08}.row-warning{background:#fffaf0}.table-actions{display:flex;gap:10px;flex-wrap:wrap}.maturity-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:18px 0}.maturity-summary>div{background:#fff;border:1px solid #e4e8ef;border-radius:10px;padding:14px;display:grid;gap:6px}.maturity-summary span{font-size:12px;color:#6b7280}.maturity-renewal-title{padding-top:8px;border-top:1px solid #eef1f5}

/* Dashboard */
.eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;color:#64748b;margin-bottom:7px}.eyebrow.light{color:#cbd5e1}.dashboard-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}.dashboard-head h1,.calendar-page-head h1{font-size:34px;line-height:1.12;margin:0 0 8px;letter-spacing:-.025em}.dashboard-head p,.calendar-page-head p{margin:0}.header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.header-actions form{margin:0}.dashboard-hero{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.6fr);gap:16px;margin-bottom:26px}.hero-balance{border-radius:18px;padding:28px;background:linear-gradient(145deg,#111827,#25324a);color:#fff;min-height:238px;display:flex;flex-direction:column;justify-content:center}.hero-balance>strong{font-size:38px;letter-spacing:-.035em;margin:4px 0 10px}.hero-balance p{color:#d5dbe5;margin:0 0 22px;line-height:1.45;font-size:14px}.hero-balance-foot{border-top:1px solid rgba(255,255,255,.15);padding-top:16px;display:flex;justify-content:space-between;gap:12px;color:#d5dbe5;font-size:13px}.hero-balance-foot b{color:#fff}.hero-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hero-stat{background:#fff;border:1px solid #dfe4ec;border-radius:16px;padding:20px;text-decoration:none;color:#172033;display:flex;flex-direction:column;gap:7px;min-height:110px;transition:transform .15s ease,border-color .15s ease}.hero-stat:hover{transform:translateY(-2px);border-color:#aeb9ca}.hero-stat span{font-size:13px;color:#677489}.hero-stat strong{font-size:25px;letter-spacing:-.025em}.hero-stat small{color:#8791a2}.hero-stat.accent{background:#eef6ff;border-color:#bfd8f4}.hero-stat.projected{background:#f0fdf4;border-color:#bbebc9}.dashboard-section{margin:28px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.section-head.small{margin-bottom:6px}.section-head h2{margin:0;font-size:22px;letter-spacing:-.015em}.text-link{font-weight:700;color:#334f7a;text-decoration:none}.cashflow-strip{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid #dfe4ec;border-radius:15px;overflow:hidden}.cashflow-strip>div{padding:18px;border-right:1px solid #edf0f4;display:grid;gap:7px}.cashflow-strip>div:last-child{border-right:0}.cashflow-strip span{font-size:12px;color:#687588}.cashflow-strip strong{font-size:20px}.cashflow-strip small{color:#8a94a4}.positive{color:#067647}.negative{color:#b42318}.net-flow{background:#f8fafc}.dashboard-two-column{display:grid;grid-template-columns:1.35fr .85fr;gap:18px;margin:28px 0}.upcoming-card{background:#fff;border:1px solid #dfe4ec;border-radius:14px;padding:22px}.agenda-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #edf0f4}.agenda-row:last-child{border-bottom:0}.agenda-row small{display:block;color:#7c8798;margin-bottom:3px}.agenda-row strong{font-size:14px}.agenda-row b{font-size:14px}.agenda-icon{width:38px;height:38px;border-radius:10px;background:#eef2f7;display:grid;place-items:center;font-size:11px;font-weight:800;color:#42506a}.agenda-row.subtle{grid-template-columns:44px 1fr}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick-actions a{background:#fff;border:1px solid #e1e6ed;border-radius:13px;padding:17px;text-decoration:none;color:#172033;display:grid;gap:5px;transition:transform .15s ease,border-color .15s ease}.quick-actions a:hover{transform:translateY(-2px);border-color:#aeb9ca}.quick-actions strong{font-size:15px}.quick-actions span{font-size:12px;color:#788395;line-height:1.4}

/* POS calendar */
.calendar-toolbar{background:#fff;border:1px solid #dfe4ec;border-radius:14px;padding:13px 16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:14px}.calendar-nav{color:#334f7a;text-decoration:none;font-weight:700;font-size:13px}.calendar-nav:last-child{text-align:right}.calendar-title{text-align:center;display:grid;gap:2px}.calendar-title strong{font-size:20px}.calendar-title span{font-size:12px;color:#7a8595}.calendar-summary{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:12px;margin:16px 0}.summary-card{background:#fff;border:1px solid #dfe4ec;border-radius:13px;padding:17px;display:grid;gap:6px}.summary-card.primary{background:#172033;color:#fff;border-color:#172033}.summary-card span{font-size:12px;color:#69768a}.summary-card.primary span,.summary-card.primary small{color:#cbd5e1}.summary-card strong{font-size:21px}.summary-card small{color:#8791a1}.next-action-banner{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;background:#edf7f2;border:1px solid #b9e5cc;border-radius:14px;padding:17px 20px;margin:14px 0 18px}.next-action-banner>div:first-child strong{display:block;font-size:18px}.next-action-amount{font-size:26px;font-weight:800;letter-spacing:-.025em;color:#12623a}.next-action-split{display:grid;gap:3px;text-align:right;font-size:12px;color:#4c6b59}.pos-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#fff;border:1px solid #dfe4ec;border-radius:14px;overflow:hidden}.calendar-weekday{padding:11px 8px;background:#f8fafc;border-right:1px solid #e8ecf1;border-bottom:1px solid #dfe4ec;text-align:center;font-size:12px;font-weight:800;color:#606d80}.calendar-weekday:nth-child(7){border-right:0}.calendar-day{min-height:154px;padding:10px;border-right:1px solid #edf0f4;border-bottom:1px solid #edf0f4;background:#fff;overflow:hidden}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside-month{background:#fafbfc;color:#a1a8b4}.calendar-day.weekend{background:#fbfcfe}.calendar-day.holiday{background:#fffaf1}.calendar-day.today{box-shadow:inset 0 0 0 2px #315b94}.calendar-day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.calendar-day-head>strong{font-size:13px}.today-chip{font-size:9px;font-weight:800;background:#315b94;color:#fff;border-radius:999px;padding:3px 6px}.holiday-label{font-size:9px;color:#9a6508;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event{border-radius:8px;padding:7px 8px;margin-top:6px;display:grid;gap:2px}.calendar-event span{font-size:9px;font-weight:700}.calendar-event strong{font-size:12px}.calendar-event small{font-size:9px}.calendar-event.planned{background:#eaf4ff;color:#174f84}.calendar-event.actual{background:#ecfdf3;color:#067647}.calendar-split{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.calendar-split span{font-size:9px;background:#f2f4f7;border-radius:5px;padding:3px 5px;color:#637083}.calendar-list-card{background:#fff;border:1px solid #dfe4ec;border-radius:14px;padding:20px;margin-top:20px}.text-success{color:#067647}.text-danger{color:#b42318}

@media(max-width:1100px){.dashboard-hero{grid-template-columns:1fr}.cashflow-strip{grid-template-columns:repeat(3,1fr)}.cashflow-strip>div{border-bottom:1px solid #edf0f4}.dashboard-two-column{grid-template-columns:1fr}.calendar-summary{grid-template-columns:1fr 1fr}.pos-calendar{overflow-x:auto}.calendar-day{min-width:135px}}
@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}.form-card.wide{grid-template-columns:1fr}.form-span{grid-column:auto}.topbar{height:auto;min-height:64px;align-items:flex-start;padding-top:16px;padding-bottom:16px;gap:16px}.topbar nav{flex-wrap:wrap;justify-content:flex-end}.cash-report{padding:20px}.cash-report-row,.cash-report-group-head,.cash-report-total{gap:12px}.liquidity-metrics,.liquidity-metrics.five{grid-template-columns:1fr 1fr}.maturity-summary{grid-template-columns:1fr 1fr}.dashboard-head,.page-head{align-items:flex-start;flex-direction:column}.hero-stat-grid{grid-template-columns:1fr 1fr}.quick-actions{grid-template-columns:1fr 1fr}.next-action-banner{grid-template-columns:1fr auto}.next-action-split{grid-column:1/-1;text-align:left;display:flex;gap:14px}}
@media(max-width:650px){.container{padding:0 16px;margin-top:24px}.cards,.liquidity-metrics,.liquidity-metrics.five,.maturity-summary{grid-template-columns:1fr}.liquidity-head{flex-direction:column}.coverage-badge{text-align:left}.hero-stat-grid,.calendar-summary,.quick-actions{grid-template-columns:1fr}.cashflow-strip{grid-template-columns:1fr}.cashflow-strip>div{border-right:0}.calendar-toolbar{grid-template-columns:auto 1fr auto;gap:8px}.calendar-nav{font-size:0}.calendar-nav:first-child:after{content:'←';font-size:20px}.calendar-nav:last-child:after{content:'→';font-size:20px}.pos-calendar{grid-template-columns:repeat(7,128px);overflow-x:auto}.calendar-weekday{min-width:128px}.hero-balance>strong{font-size:31px}.dashboard-head h1,.calendar-page-head h1{font-size:29px}}
@media print{body{background:#fff}.topbar,.no-print{display:none!important}.container{max-width:none;margin:0;padding:0}.cash-report{border:0;border-radius:0;padding:0;max-width:none}.cash-report-group{break-inside:avoid}.cash-report-title{margin-top:10mm}}
