:root{
  --bg:#F5EEDC;--bg-soft:#FAF5E9;--panel:#FFF9EF;--panel-strong:#fffdf8;
  --ink:#2F241D;--muted:#806F61;--line:#E4D5BA;--line-strong:#C9B89A;
  --brand:#7A2E24;--brand-dark:#5F211A;--brand-soft:#F1DECF;--accent:#D8B35A;--accent-soft:#F5E3A7;
  --success:#657B3C;--success-soft:#E9F0DA;--warning:#C77A24;--warning-soft:#FFF0D8;--danger:#A83D31;--danger-soft:#F9DEDA;--info:#6E7F8D;
  --shadow:0 12px 30px rgba(83,47,27,.08);--shadow-soft:0 5px 16px rgba(83,47,27,.055);
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg-soft);color:var(--ink);font-size:14px;line-height:1.45}a{color:var(--brand);text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:linear-gradient(180deg,#7A2E24 0%,#67261e 62%,#542019 100%);color:#FFF8EA;padding:24px 16px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;box-shadow:10px 0 30px rgba(69,24,18,.08);z-index:10}.brand{display:flex;gap:12px;align-items:center;padding:0 7px 24px}.brand-logo{width:58px;height:58px;object-fit:cover;border-radius:50%;clip-path:circle(47%);background:#F7EFD9;box-shadow:0 5px 16px rgba(41,17,13,.18)}.brand-copy strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:16px;color:#fff9eb;line-height:1.15}.brand-copy span{display:block;font-size:11px;color:#E8CAB4;margin-top:4px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{color:#F4E2D5;padding:10px 11px;border-radius:11px;display:flex;align-items:center;gap:11px;font-weight:600;transition:.16s ease}.sidebar nav a b{font-size:19px;font-weight:500;width:24px;text-align:center;line-height:1}.sidebar nav a:hover{background:rgba(255,249,239,.09);color:#fff}.sidebar nav a.active{background:linear-gradient(135deg,#E8C762,#D8B35A);color:#5F211A;box-shadow:0 7px 18px rgba(49,20,15,.14)}.sidebar-version{margin-top:auto;background:rgba(45,15,12,.27);border:1px solid rgba(255,255,255,.08);padding:12px 13px;border-radius:12px;color:#fff5e7}.sidebar-version span,.sidebar-version small{display:block}.sidebar-version span{font-weight:700;font-family:Georgia,"Times New Roman",serif}.sidebar-version small{font-size:10px;color:#E5C5B1;margin-top:2px}.main{min-width:0;background:linear-gradient(180deg,#FEFBF4 0%,#F8F0DF 100%)}.topbar{min-height:84px;display:flex;align-items:center;gap:14px;padding:17px 28px;border-bottom:1px solid rgba(201,184,154,.65);background:rgba(255,251,244,.93);position:sticky;top:0;z-index:7;backdrop-filter:blur(10px)}.topbar-title{min-width:0}.topbar h1{font-family:Georgia,"Times New Roman",serif;font-size:25px;letter-spacing:-.02em;margin:0;color:var(--ink)}.topbar h1 .title-period{font-size:.72em;font-weight:600;color:#5C4638;white-space:nowrap}.topbar p{margin:3px 0 0;color:var(--muted)}.topbar-user{margin-left:auto;display:flex;align-items:center;gap:11px}.user-meta{text-align:right}.user-meta strong,.user-meta a{display:block}.user-meta strong{font-size:12px;color:#4A382D}.user-meta a{font-size:11px;margin-top:2px;color:var(--brand)}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#5B2D17;font-weight:800;border:2px solid #F4DE99}.menu-btn{display:none;border:0;background:transparent;color:var(--brand);font-size:23px}.content{padding:26px 28px 62px;max-width:1580px;margin:0 auto;width:100%}.period-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.period-copy{display:grid;gap:2px}.period-copy strong{font-size:15px}.period-copy span{font-size:12px;color:var(--muted)}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.actions form{margin:0}.period-picker{min-width:150px;background:#FFFDF8}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.kpi{background:rgba(255,253,248,.94);border:1px solid var(--line);border-radius:15px;padding:17px 18px;box-shadow:var(--shadow-soft);min-width:0}.kpi-top{display:flex;align-items:center;gap:10px}.kpi-top>span:last-child{font-size:12px;color:#5E4C3F;font-weight:700}.kpi-icon{width:35px;height:35px;border-radius:50%;display:grid!important;place-items:center;font-size:13px!important;font-weight:900;color:#4b2718!important}.kpi-icon.gold{background:linear-gradient(135deg,#F0D06D,#D8B35A)}.kpi-icon.maroon{background:linear-gradient(135deg,#923A2E,#6F291F);color:#fff!important}.kpi strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:25px;margin:12px 0 5px;color:#2C211B;white-space:nowrap}.kpi small{color:var(--muted);font-size:11px}.kpi.profit{border-color:#D6BFA1}.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:16px}.form-layout{align-items:start}.card{background:rgba(255,253,248,.94);border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:var(--shadow-soft);margin-bottom:16px}.card h2{font-family:Georgia,"Times New Roman",serif;font-size:18px;margin:0 0 16px;color:#39281F}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.card-head h2{margin:0}.section-note{margin:3px 0 0;font-size:11px;color:var(--muted)}.text-link{font-size:12px;font-weight:700;white-space:nowrap}.booth-section{padding:20px}.booth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.booth-card{border:1px solid #E6D5B8;border-radius:14px;padding:17px;background:linear-gradient(180deg,#FFFDF8 0%,#FCF5E8 100%);min-width:0}.booth-card-head{display:flex;align-items:center;gap:11px}.booth-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:20px}.booth-icon.maroon{background:#7A2E24;color:#fff}.booth-icon.gold{background:#E4C15B;color:#5E2B17}.booth-card h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:16px}.booth-card small{color:var(--muted);font-size:10px}.booth-revenue{display:block;font-family:Georgia,"Times New Roman",serif;font-size:22px;margin:13px 0 9px}.booth-share>span{font-size:11px;color:var(--success);font-weight:700}.booth-share i{height:5px;background:#EEE2CB;display:block;border-radius:10px;margin-top:7px;overflow:hidden}.booth-share i b{display:block;height:100%;background:linear-gradient(90deg,#7A2E24,#D8B35A);border-radius:10px}.booth-card dl{margin:13px 0 0;padding-top:10px;border-top:1px dashed #D9C6A5}.booth-card dl div{display:flex;justify-content:space-between;gap:12px;padding:4px 0}.booth-card dt{color:var(--muted);font-size:11px}.booth-card dd{margin:0;font-size:11px;font-weight:700;text-align:right}.finance-flow{display:grid;gap:0}.finance-flow>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #EEE2D1}.finance-flow>div span{color:#6D5A4B}.finance-flow>div strong{white-space:nowrap}.finance-flow .minus strong{color:#865247}.finance-flow .flow-total{border-bottom:0;border-top:2px solid #BDA784;margin-top:5px;padding-top:14px;font-size:16px}.finance-flow .flow-total span,.finance-flow .flow-total strong{color:var(--brand);font-weight:800}.attention-card{padding-bottom:10px}.attention-count{min-width:25px;height:25px;padding:0 8px;border-radius:99px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}.attention-item{display:grid;grid-template-columns:34px 1fr 12px;align-items:center;gap:10px;padding:11px 3px;border-top:1px solid #EADCC5;color:var(--ink)}.attention-item:hover{background:#FFF8EA}.attention-item>div{display:grid}.attention-item strong{font-size:12px}.attention-item small{font-size:10px;color:var(--muted)}.attention-item>b{font-size:20px;color:#8E7966}.attention-icon{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:12px}.attention-icon.warning{background:var(--warning-soft);color:var(--warning)}.attention-icon.ok{background:var(--success-soft);color:var(--success)}.attention-icon.info{background:#EEE9DF;color:#71675D}.bar-row{margin:14px 0}.bar-label{display:flex;justify-content:space-between;gap:15px;margin-bottom:7px}.bar{height:8px;border-radius:20px;background:#EEE2CE;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#A94C3B);border-radius:20px}.bar-row small{color:var(--muted);display:block;margin-top:5px}.health-item{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line)}.health-item:last-child{border-bottom:0}.health-item span{color:var(--muted)}.info-card{background:#FBF0DB}.info-card p:last-child{margin-bottom:0}.tip{background:#FFF9EE}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}label{display:grid;gap:6px;font-size:12px;color:#665244;margin-bottom:12px;font-weight:600}input,select,textarea{width:100%;border:1px solid #DCCBAF;border-radius:9px;padding:10px 11px;background:#FFFDF8;color:var(--ink);outline:none}input::placeholder,textarea::placeholder{color:#9C8A79}input:focus,select:focus,textarea:focus{border-color:#A65C49;box-shadow:0 0 0 3px rgba(122,46,36,.09)}.check{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:13px}.check input{width:auto}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:9px;padding:9px 13px;cursor:pointer;background:#FFFDF8;color:var(--ink);white-space:nowrap;font-weight:700;transition:.15s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(180deg,#86362A,#70271F);color:#fff;box-shadow:0 5px 13px rgba(122,46,36,.14)}.btn.secondary{border-color:#D5C3A8;background:#FFFDF8}.btn.warning{background:#B86B22;color:white}.btn.ghost{background:transparent;padding:6px}.wide{width:100%}.danger-text{color:var(--danger)}.table-card{padding:0;overflow:hidden}.table-card>.card-head,.table-card>h2{padding:18px 20px 0}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{text-align:left;padding:12px 14px;border-top:1px solid #E9DCC8;vertical-align:top}.table-wrap th{font-size:10px;text-transform:uppercase;letter-spacing:.045em;color:#7E6B5A;background:#FBF3E6;white-space:nowrap}.table-wrap tbody tr:hover td{background:#FFF9EF}.table-wrap td input{min-width:110px}.table-wrap .total td{font-weight:700;background:#F8EBD6}.row-warn td{background:#FFF5E5}.badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;background:#EEE7DC}.badge.success{background:var(--success-soft);color:#536832}.badge.warning{background:var(--warning-soft);color:#956020}.badge.neutral{background:#EEE9E2;color:#6B655F}.badge.closed{background:#4E342B;color:white}.alert{padding:12px 14px;border-radius:10px;margin-bottom:16px;border:1px solid transparent}.alert.success{background:var(--success-soft);color:#50642E;border-color:#D4E1B9}.alert.danger{background:var(--danger-soft);color:#8C3028;border-color:#EDC2BC}.alert.warning{background:var(--warning-soft);color:#8A5A1D;border-color:#F0D9B3}.mini-kpis{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.mini-kpis>div{border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:160px;background:#FFF9EE}.mini-kpis span,.mini-kpis strong{display:block}.mini-kpis span{color:var(--muted);font-size:11px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.empty{text-align:center!important;color:var(--muted);padding:28px!important}.neg{color:var(--danger);font-weight:700}.pos{color:var(--success);font-weight:700}.statement>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}.statement .minus{color:#725D50}.statement .grand{border-top:2px solid var(--brand);border-bottom:0;margin-top:8px;padding-top:14px;font-size:16px;color:var(--brand)}.statement small{display:block;color:var(--muted);margin-top:12px}.report-title{text-align:center;margin:10px 0 20px}.report-title h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:21px}.report-title p{margin:4px;color:var(--muted)}.or{display:flex;align-items:center;gap:10px;color:var(--muted);margin:4px 0 12px}.or:before,.or:after{content:"";height:1px;background:var(--line);flex:1}.muted{color:var(--muted)}.small{font-size:12px}code{background:#F2E7D7;padding:2px 5px;border-radius:5px}.install-body{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 15% 15%,rgba(216,179,90,.13),transparent 28%),radial-gradient(circle at 90% 85%,rgba(122,46,36,.08),transparent 28%),#F7F0E3}.install-card{width:min(720px,100%);background:rgba(255,253,248,.96);border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 22px 60px rgba(83,47,27,.12)}.install-card .brand-mark{margin-bottom:12px}.install-card h1{margin:0 0 5px;font-family:Georgia,"Times New Roman",serif}.install-card h3{margin-top:24px}.brand-mark{width:52px;height:52px;border-radius:50%;background:var(--accent);color:#5B2B1B;display:grid;place-items:center;font-weight:900}.login-body{min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(circle at 12% 18%,rgba(216,179,90,.14),transparent 26%),radial-gradient(circle at 87% 80%,rgba(122,46,36,.07),transparent 26%),#FAF4E8;display:grid;place-items:center;padding:28px}.login-shell{position:relative;z-index:2;width:min(470px,100%);display:grid;justify-items:center;gap:18px}.login-card{width:100%;max-width:460px}.brand-login{padding:32px 38px;text-align:center;background:rgba(255,253,248,.95);border:1px solid #DCCBAE;border-radius:24px;box-shadow:0 25px 70px rgba(98,55,31,.13)}.login-logo{width:116px;height:116px;object-fit:cover;clip-path:circle(47%);margin:-2px auto 12px;display:block;filter:drop-shadow(0 7px 10px rgba(66,31,22,.12))}.brand-login h1{font-family:Georgia,"Times New Roman",serif;font-size:30px;line-height:1.15;margin:0;color:#34251D}.login-subtitle{margin:7px 0 13px;color:#806855;font-size:14px}.brand-divider{display:flex;align-items:center;justify-content:center;margin:0 auto 22px}.brand-divider:before,.brand-divider:after{content:"";height:1px;width:54px;background:#DFCDAE}.brand-divider i{width:7px;height:7px;margin:0 10px;border-radius:50%;background:var(--accent)}.login-form{text-align:left}.login-form>label{font-size:12px;color:#3F3027;font-weight:800}.field-wrap{display:flex;align-items:center;border:1px solid #D9C6A9;border-radius:11px;background:#FFFDF9;padding:0 11px;transition:.15s}.field-wrap:focus-within{border-color:#A35A49;box-shadow:0 0 0 3px rgba(122,46,36,.08)}.field-wrap span{color:#8E7A66;font-size:16px}.field-wrap input{border:0!important;box-shadow:none!important;background:transparent;padding:12px 10px}.login-button{margin-top:4px;padding:12px}.login-help{margin:18px 0 0;font-size:11px;color:#8B7662}.login-footer{font-size:11px;color:#8A725D;text-align:center}.login-decor{position:fixed;font-family:Arial,sans-serif;font-size:330px;line-height:1;color:rgba(166,119,65,.07);font-weight:400;user-select:none;z-index:1}.decor-left{left:-120px;top:10px;transform:rotate(-12deg)}.decor-right{right:-120px;bottom:-30px;transform:rotate(10deg)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:1100px){.kpi-grid{grid-template-columns:1fr 1fr}.booth-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;z-index:20;width:250px;transition:.2s}.nav-open .sidebar{left:0}.menu-btn{display:block}.content{padding:20px}.topbar{padding:16px 20px}}
@media(max-width:720px){.kpi-grid,.form-grid,.grid2,.booth-grid{grid-template-columns:1fr}.kpi strong{font-size:22px}.content{padding:14px}.period-row{align-items:flex-start;flex-direction:column}.actions{width:100%}.table-wrap th,.table-wrap td{padding:10px}.install-card,.brand-login{padding:22px}.topbar-user .user-meta{display:none}.topbar h1{font-size:20px}.topbar h1 .title-period{display:block;margin-top:3px}.login-logo{width:100px;height:100px}.brand-login h1{font-size:25px}}
@media print{.sidebar,.topbar,.period-row .actions,.btn,.alert{display:none!important}.app-shell{display:block}.content{padding:0}.card,.kpi{box-shadow:none;break-inside:avoid}.content{max-width:none}body{background:white}.booth-grid{grid-template-columns:repeat(3,1fr)}}
/* v0.2.0 Finance Core */
.nav-group{font-size:9px;letter-spacing:.12em;color:#D9BDAA;padding:13px 12px 4px;font-weight:800;opacity:.9}.account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.account-card{border:1px solid var(--line);border-radius:13px;padding:15px;background:#FFF9EE;display:flex;justify-content:space-between;gap:12px;align-items:flex-end}.account-card.clearing{background:#FBF0D6;border-color:#E4C87A}.account-card h3{margin:8px 0 1px;font-size:14px;font-family:inherit}.account-card>strong{font-family:Georgia,"Times New Roman",serif;font-size:18px;white-space:nowrap}.cash-position{display:grid;gap:8px;margin-top:14px}.cash-position>div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:9px 0}.cash-position>div:last-child{border-bottom:0}.cash-position.big>div strong{font-family:Georgia,"Times New Roman",serif;font-size:19px}.closing-item{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.closing-item:last-child{border-bottom:0}.closing-item div{display:grid}.closing-item small{color:var(--muted);font-size:10px}.inline-form{display:inline-block;margin:0}.inline-form select{padding:6px 8px;min-width:105px}.recon-details summary{cursor:pointer;color:var(--brand);font-weight:700}.mini-form{margin-top:8px;display:grid;gap:7px;min-width:220px}.mini-form label{margin:0}.mini-form select,.mini-form textarea{padding:7px}.capex-fields{border:1px dashed #D6B88B;border-radius:11px;padding:12px;background:#FFF7E8}.upgrade-list{padding-left:19px;margin:0}.upgrade-list li{margin:7px 0}.upgrade-card{max-width:680px}.dashboard-money{grid-template-columns:1fr 1fr}.dashboard-money .card{height:100%}.table-wrap td .badge{white-space:nowrap}
@media(max-width:1100px){.account-grid{grid-template-columns:1fr 1fr}.dashboard-money{grid-template-columns:1fr}}
@media(max-width:720px){.account-grid{grid-template-columns:1fr}.nav-group{padding-top:10px}.sidebar nav a{padding:8px 10px}.sidebar nav{gap:2px}}
.sidebar nav{overflow-y:auto;min-height:0;padding-right:2px}.sidebar nav::-webkit-scrollbar{width:4px}.sidebar nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:10px}
