:root{--bg:#f4f8f6;--surface:#fff;--surface-2:#f8fbfa;--text:#12251b;--muted:#6e7f76;--line:#dfeae4;--green:#19b86b;--green-2:#0c9f59;--green-soft:#e9f8f0;--danger:#df4d5f;--danger-soft:#fff0f2;--warn:#e79b24;--warn-soft:#fff7e8;--info:#3578e5;--info-soft:#eef4ff;--shadow:0 22px 60px rgba(18,47,33,.18);--top:92px;--task:46px;color-scheme:light;font-family:Poppins,system-ui,sans-serif}
:root[data-theme="dark"]{--bg:#0d1511;--surface:#151f1a;--surface-2:#1b2821;--text:#edf8f1;--muted:#9db1a5;--line:#2b3b32;--green:#32d583;--green-2:#1cc473;--green-soft:#173b2a;--danger:#ff7180;--danger-soft:#3a2025;--warn:#ffbd59;--warn-soft:#3a2d17;--info:#7cabff;--info-soft:#1e304c;--shadow:0 28px 80px rgba(0,0,0,.5);color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{padding-top:var(--top);padding-bottom:var(--task);overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{position:fixed;inset:0 0 auto 0;height:var(--top);display:flex;align-items:center;gap:20px;padding:10px 20px;background:color-mix(in srgb,var(--surface) 94%,transparent);border-bottom:1px solid var(--line);z-index:200;backdrop-filter:blur(18px)}.brand{font-size:25px;font-weight:700;letter-spacing:-1px;white-space:nowrap}.brand span{background:var(--green);color:#fff;padding:2px 7px;border-radius:8px;margin-left:2px}.module-nav{display:flex;align-items:center;gap:7px;overflow:auto;scrollbar-width:none;flex:1}.nav-item{border:0;background:transparent;color:var(--muted);min-width:76px;height:68px;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:.18s}.nav-item:hover{background:var(--green-soft);color:var(--green-2);transform:translateY(-1px)}.nav-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:11px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);font-size:18px}.nav-item:hover .nav-icon{background:var(--green);color:#fff;box-shadow:none}.nav-item small{font-size:10px;font-weight:600}.top-actions{display:flex;gap:9px;align-items:center}.round-btn{width:42px;height:42px;border-radius:13px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:20px}.userbox{display:flex;align-items:center;gap:9px;min-width:200px}.userbox b,.userbox small{display:block}.userbox small{color:var(--muted);font-size:10px}.userbox a{margin-left:auto;color:var(--muted);text-decoration:none;font-size:21px}.avatar{width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,var(--green),#71e1a6);color:#fff;display:grid;place-items:center;font-weight:700}.workspace{height:calc(100vh - var(--top) - var(--task));overflow:auto;padding:32px clamp(20px,4vw,58px)}.welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1400px;margin:auto}.welcome h1{font-size:36px;margin:3px 0}.welcome p{margin:0;color:var(--muted)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.13em;color:var(--green)}.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1400px;margin:28px auto}.card,.stat{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:20px;box-shadow:0 8px 24px rgba(18,47,33,.04)}.card.highlight{background:linear-gradient(135deg,var(--green),var(--green-2));color:#fff;border:0}.card h2,.card h3{margin:5px 0 8px}.card p{color:var(--muted)}.card.highlight p{color:rgba(255,255,255,.85)}.window-backdrop{position:fixed;inset:0;background:rgba(6,20,13,.16);backdrop-filter:blur(1.8px);opacity:0;pointer-events:none;z-index:240;transition:.18s}.window-backdrop.show{opacity:1}.window-layer{position:fixed;inset:0;pointer-events:none;z-index:250}.app-window{position:absolute;background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:19px;overflow:hidden;box-shadow:var(--shadow);pointer-events:auto;min-width:420px;min-height:280px;transition:box-shadow .18s,transform .18s}.app-window.focused{box-shadow:0 30px 90px rgba(8,35,22,.28)}:root[data-theme="dark"] .app-window.focused{box-shadow:0 35px 100px rgba(0,0,0,.72)}.app-window.maximized{inset:10px 10px calc(var(--task) + 8px) 10px!important;width:auto!important;height:auto!important;border-radius:16px}.window-head{height:47px;display:flex;align-items:center;justify-content:space-between;padding:0 9px 0 15px;border-bottom:1px solid var(--line);background:var(--surface-2);user-select:none}.window-title{font-weight:600;font-size:13px;display:flex;align-items:center;gap:8px}.window-symbol{color:var(--green);font-size:11px}.window-actions{display:flex;gap:3px}.window-actions button{border:0;background:transparent;color:var(--muted);width:34px;height:30px;border-radius:9px;font-size:16px}.window-actions button:hover{background:var(--line);color:var(--text)}.window-actions button:last-child:hover{background:var(--danger);color:#fff}.window-body{height:calc(100% - 47px);overflow:auto}.window-body-inner{padding:22px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.panel-title h2{margin:2px 0;font-size:24px}.panel-title p{margin:3px 0;color:var(--muted)}.panel-title.compact{margin-bottom:10px}.panel-title.compact h3{margin:0}.button-row{display:flex;gap:8px}.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:10px 15px;border-radius:12px;font-weight:600;font-size:12px;transition:.15s}.btn:hover{transform:translateY(-1px);filter:brightness(.98)}.btn.primary{background:linear-gradient(135deg,var(--green),var(--green-2));color:#fff;border-color:transparent;box-shadow:0 8px 18px color-mix(in srgb,var(--green) 22%,transparent)}.btn.secondary{background:var(--surface-2)}.btn.small{padding:7px 10px;border-radius:9px}.btn.large{padding:13px 20px;font-size:14px}.btn.wide{width:100%}.icon-btn{border:1px solid var(--line);background:var(--surface-2);color:var(--text);width:34px;height:34px;border-radius:10px;font-size:17px}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.toolbar input{max-width:440px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.compact{gap:9px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}.form-grid .full{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:11px;padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 15%,transparent)}textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:5px}.check{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important}.check input{width:18px;height:18px}.check span small{display:block;color:var(--muted)}.permission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.permission-grid .check{border:1px solid var(--line);border-radius:11px;padding:10px;background:var(--surface-2)}.grid{display:grid;gap:13px;margin-bottom:16px}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.stat small{display:block;color:var(--muted);font-size:11px}.stat b{display:block;font-size:22px;margin-top:5px}.stat.danger-soft{background:var(--danger-soft)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:12px 13px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{position:sticky;top:0;background:var(--surface-2);z-index:1;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:700}.badge.ok{background:var(--green-soft);color:var(--green-2)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.muted{background:var(--surface-2);color:var(--muted)}.empty{text-align:center;padding:32px;color:var(--muted)}.muted{color:var(--muted)}.note{margin-bottom:15px;background:var(--green-soft)}.note p{margin-bottom:0}.box-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px}.box-card{border:1px solid var(--line);border-radius:18px;padding:17px;background:var(--surface);min-height:220px;display:flex;flex-direction:column;gap:11px}.box-card.busy{border-color:color-mix(in srgb,var(--warn) 35%,var(--line));background:linear-gradient(180deg,var(--warn-soft),var(--surface) 50%)}.box-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.box-head h3{margin:0}.station-icon{width:34px;height:34px;border-radius:11px;background:var(--green-soft);color:var(--green);display:grid;place-items:center}.box-card p{margin:0;line-height:1.7}.timer{font-weight:700;color:var(--warn);margin-top:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.list-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.list-row span small{display:block;color:var(--muted)}.taskbar{position:fixed;bottom:0;left:0;right:0;height:var(--task);z-index:1000;background:var(--surface);border-top:1px solid var(--line);display:flex;align-items:center;padding:5px 12px;gap:10px}.taskbar-label{font-size:10px;color:var(--muted);white-space:nowrap}.taskbar>div{display:flex;gap:6px;overflow:auto}.task{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:10px;padding:7px 11px;font-size:10px;white-space:nowrap}.task.active{background:var(--green-soft);color:var(--green-2);border-color:color-mix(in srgb,var(--green) 35%,var(--line))}.ai-fab{position:fixed;right:20px;bottom:62px;width:54px;height:54px;border:0;border-radius:18px;background:linear-gradient(135deg,var(--green),#5dd69a);color:#fff;box-shadow:0 12px 28px rgba(22,163,96,.35);z-index:1200;font-size:24px}.search-results{position:absolute;z-index:20;margin-top:64px;left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);overflow:hidden}.sale-app .form-grid label.full{position:relative}.search-results:empty{display:none}.search-results button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--text);text-align:left}.search-results button:hover{background:var(--green-soft)}.search-results span small{display:block;color:var(--muted)}.qty-input{width:80px;padding:7px}.sale-footer{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:15px}.sale-total{text-align:right}.sale-total small{display:block;color:var(--muted)}.sale-total strong{display:block;font-size:28px;margin:2px 0 8px}.credit-fields{display:none!important}.ai-chat{height:390px;overflow:auto;background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:15px;display:flex;flex-direction:column;gap:10px}.ai-msg{max-width:82%;padding:11px 13px;border-radius:14px;font-size:12px;line-height:1.5}.ai-msg.assistant{background:var(--green-soft);align-self:flex-start}.ai-msg.user{background:var(--info-soft);align-self:flex-end}.ai-compose{display:flex;gap:8px;margin:12px 0}.toast{position:fixed;right:22px;top:105px;z-index:5000;background:var(--surface);color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow);padding:12px 15px;border-radius:12px;transform:translateX(130%);transition:.25s;font-size:12px}.toast.show{transform:none}.toast.ok{border-left:4px solid var(--green)}.toast.danger{border-left:4px solid var(--danger)}.module-checks{display:grid;grid-template-columns:1fr 1fr;gap:6px}.empty-state{grid-column:1/-1;text-align:center;padding:35px}
@media(max-width:900px){:root{--top:76px}.topbar{padding:7px 10px}.brand{font-size:18px}.nav-item{min-width:62px;height:59px}.nav-item small{display:none}.userbox>div:not(.avatar){display:none}.userbox{min-width:auto}.workspace{padding:20px}.home-grid,.grid.cols-4,.grid.cols-3{grid-template-columns:1fr 1fr}.app-window{min-width:0!important;left:5px!important;right:5px!important;top:5px!important;width:auto!important;height:calc(100vh - var(--task) - 10px)!important;border-radius:14px}.form-grid,.split{grid-template-columns:1fr}.sale-footer{flex-direction:column;align-items:stretch}.sale-total{text-align:left}.permission-grid{grid-template-columns:1fr}}
@media(max-width:600px){.home-grid,.grid.cols-4,.grid.cols-3{grid-template-columns:1fr}.welcome{align-items:flex-start;flex-direction:column}.panel-title{align-items:flex-start;flex-direction:column}.button-row{width:100%}.button-row .btn{flex:1}.window-body-inner{padding:15px}.taskbar-label{display:none}}
@media print{.topbar,.taskbar,.ai-fab,.window-backdrop,.window-head,.btn{display:none!important}body{padding:0;overflow:visible}.app-window{position:static!important;width:100%!important;height:auto!important;box-shadow:none;border:0}.window-body{overflow:visible;height:auto}.window-layer{position:static}}

.login-page{padding:0;min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,var(--green-soft),transparent 38%),var(--bg);overflow:auto}.login-card{width:min(430px,92vw);background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow)}.login-card .brand.big{font-size:30px;margin-bottom:8px}.login-card>p{color:var(--muted);margin-top:0}.login-card form{display:grid;gap:14px}.login-card label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:600}.alert{padding:11px 13px;border-radius:11px;margin:12px 0;font-size:12px}.alert.danger{background:var(--danger-soft);color:var(--danger)}
/* v1.2 navigation + focus */
:root{--top:64px;--dock-h:78px;--tasks-h:34px}.compact-top{height:64px;justify-content:space-between}.compact-top .brand{margin-right:auto}.workspace{padding-bottom:145px}.window-layer{bottom:calc(var(--dock-h) + var(--tasks-h) + 10px)}.window-backdrop{bottom:calc(var(--dock-h) + var(--tasks-h));background:rgba(13,24,20,.12);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}:root[data-theme="dark"] .window-backdrop{background:rgba(0,0,0,.30);backdrop-filter:blur(2.5px)}
.ios-dock{position:fixed;left:50%;transform:translateX(-50%);bottom:8px;z-index:1450;min-height:70px;max-width:calc(100vw - 20px);display:flex;gap:7px;align-items:center;padding:8px 10px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border-radius:23px;box-shadow:0 15px 45px rgba(10,30,23,.18);overflow-x:auto}.dock-item{min-width:72px;height:58px;border:0;background:transparent;color:var(--muted);border-radius:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:.18s;position:relative}.dock-item:hover,.dock-item.active{background:var(--green-soft);color:var(--green-2);transform:translateY(-3px)}.dock-icon{width:28px;height:28px;border-radius:10px;display:grid;place-items:center}.dock-item.active .dock-icon{background:linear-gradient(135deg,var(--green),var(--green-2));color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--green) 35%,transparent)}.dock-item small{font-size:9px;font-weight:600;white-space:nowrap}.ui-icon{width:21px;height:21px;display:block}.dock-icon .ui-icon{width:23px;height:23px}.tasks-strip{position:fixed;left:0;right:0;bottom:91px;z-index:1400;display:flex;justify-content:center;pointer-events:none}.tasks-strip>div{pointer-events:auto;display:flex;gap:6px;max-width:min(850px,94vw);overflow:auto;padding:3px}.taskbar{display:none!important}.task{border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);color:var(--muted);border-radius:999px;padding:6px 11px;font-size:10px;white-space:nowrap;box-shadow:0 5px 15px rgba(0,0,0,.07)}.task.active{background:var(--green-soft);color:var(--green-2);border-color:color-mix(in srgb,var(--green) 35%,var(--line))}
.app-window{border-radius:20px;overflow:hidden}.app-window:not(.focused){filter:saturate(.82) brightness(.96)}:root[data-theme="dark"] .app-window:not(.focused){filter:saturate(.8) brightness(.78)}.app-window.focused{filter:none}.window-head{height:48px}.module-intro{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;border:1px solid var(--line);background:linear-gradient(135deg,var(--green-soft),var(--surface));padding:18px;border-radius:18px;margin-bottom:16px}.module-intro h2{margin:3px 0 5px}.module-intro p{margin:0;color:var(--muted);max-width:760px}.resource-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.resource-chip{padding:5px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:10px;color:var(--muted)}.tabs{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:16px}.tab-btn{border:0;background:transparent;color:var(--muted);padding:10px 12px;border-radius:10px 10px 0 0;font-weight:600;font-size:11px}.tab-btn.active{color:var(--green-2);background:var(--green-soft)}.tab-panel[hidden]{display:none!important}.picker-field{display:flex;gap:8px}.picker-field input{flex:1}.picker-result{font-size:11px;color:var(--muted);margin-top:4px}.print-actions{display:flex;gap:7px;flex-wrap:wrap}.money-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.money-summary .stat{border:1px solid var(--line);background:var(--surface-2);padding:13px;border-radius:14px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.photo-card{border:1px dashed var(--line);border-radius:14px;padding:10px;background:var(--surface-2)}.conditional{display:none}.conditional.show{display:block}.margin-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.account-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.account-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;padding:15px}.account-card strong{font-size:20px;display:block;margin-top:5px}.danger-text{color:var(--danger)}.ok-text{color:var(--green-2)}
@media(max-width:900px){.ios-dock{left:8px;right:8px;transform:none;justify-content:flex-start}.dock-item{min-width:66px}.window-layer{bottom:112px}.window-backdrop{bottom:92px}.tasks-strip{bottom:88px}.module-intro{grid-template-columns:1fr}.money-summary,.margin-row{grid-template-columns:1fr}.workspace{padding-bottom:130px}}
@media print{.ios-dock,.tasks-strip{display:none!important}}

/* v1.2.2 - compact module actions + true fullscreen windows */
.module-intro{display:flex!important;justify-content:flex-end;align-items:center;gap:8px;padding:0!important;margin:0 0 12px!important;border:0!important;background:transparent!important;border-radius:0!important;min-height:0!important}
.module-intro>div:first-child{display:none!important}
.module-intro>.stat{display:none!important}
.module-intro:not(:has(>button,>.button-row)){display:none!important}
.module-intro>.button-row{margin-left:auto}
.window-body-inner{padding:14px 16px 18px}
.window-layer.fullscreen-active{z-index:5000!important}
.window-layer.fullscreen-active+.unused{display:none}
.app-window.maximized{position:fixed!important;inset:0!important;left:0!important;top:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;border-radius:0!important;border:0!important;box-shadow:none!important;transform:none!important}
.app-window.maximized .window-head{height:50px;border-radius:0}
.app-window.maximized .window-body{height:calc(100vh - 50px)!important}
.app-window.maximized .window-body-inner{padding:14px 18px 20px}
body.window-fullscreen .ios-dock,body.window-fullscreen .tasks-strip,body.window-fullscreen .ai-fab{visibility:hidden!important;pointer-events:none!important}
@media(max-width:900px){.module-intro{display:flex!important}.module-intro:not(:has(>button,>.button-row)){display:none!important}.app-window.maximized{inset:0!important;width:100vw!important;height:100vh!important}}
