:root{--bg:#0b1020;--panel:#121a2d;--panel2:#18233a;--line:#263550;--text:#eef3fb;--muted:#93a2ba;--brand:#3ecf8e;--brand2:#1e9f70;--danger:#ff6577;--warn:#f5b942;--info:#5da9ff;--shadow:0 18px 40px rgba(0,0,0,.25)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"Noto Sans Bengali","Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}body{overflow:hidden}button,input,select,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}a{color:inherit;text-decoration:none}
button{border:0;border-radius:10px;padding:9px 12px;background:var(--brand);color:#07140e;font-weight:750;cursor:pointer;transition:.15s}button:hover{filter:brightness(1.07)}button:disabled{opacity:.55;cursor:not-allowed}.secondary,.ghost{background:#21314d;color:#eaf2ff;border:1px solid #334865}.danger{background:#5d2030;color:#ffd9df}.small{padding:6px 8px;font-size:11px}.ok{background:var(--brand)}
#toast{position:fixed;right:16px;bottom:16px;z-index:1000;display:grid;gap:7px}.toast-item{background:#13223a;border:1px solid var(--brand);color:#fff;padding:10px 13px;border-radius:10px;box-shadow:0 15px 35px #0007;max-width:360px}.toast-item.bad{border-color:var(--danger);background:#3a1720}
/* Furniture-size login: exact desktop footprint used by the reference apps */
.auth-gate{position:fixed;inset:0;z-index:200;background:radial-gradient(circle at 8% 8%,#073944 0,#061524 38%,#040b14 100%);display:grid;place-items:center;padding:10px;overflow:hidden}.furniture-login-window{width:min(920px,calc(100vw - 20px));height:min(650px,calc(100vh - 20px));min-height:0;display:grid;grid-template-columns:44.5% 55.5%;border:1px solid #1a5369;border-radius:18px;overflow:hidden;background:#061323;box-shadow:0 30px 90px rgba(0,0,0,.5)}.login-visual{position:relative;height:100%;overflow:hidden;background:radial-gradient(circle at 22% 18%,rgba(38,230,216,.12),transparent 25%),linear-gradient(145deg,#062630,#041a25 54%,#071525);border-right:1px solid #1a4359}.login-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(165deg,transparent 0 68%,rgba(0,238,220,.08) 68% 69%,transparent 69%)}.visual-content{position:relative;z-index:2;height:100%;padding:30px 28px 24px;display:flex;flex-direction:column}.land-logo{width:64px;height:64px;border:1px solid #02d6cf;border-radius:17px;display:grid;place-items:center;color:#1de4d8;background:rgba(2,39,50,.7);box-shadow:0 12px 30px rgba(0,0,0,.2);margin-bottom:14px}.land-logo svg{width:40px;height:40px}.visual-content h1{font-size:31px;line-height:1.04;margin:0;color:#fff;text-shadow:0 3px 20px #000}.visual-content h1 span{color:#21e1d6}.visual-content h1 small{font-size:20px;font-weight:700}.visual-subtitle{font-size:13px;color:#c9e5ef;margin:12px 0 14px}.feature-list{display:grid;gap:6px;font-size:12px;color:#d7e9f0}.feature-list>div{display:flex;align-items:center;gap:10px}.feature-list i{font-style:normal;width:28px;height:28px;border:1px solid #0edbd4;border-radius:50%;display:grid;place-items:center;color:#25e6db;background:rgba(0,30,40,.65);font-weight:800}.visual-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.visual-slogan{font-family:"Segoe Script","Brush Script MT",cursive;font-size:19px;line-height:1.08;color:#22ebe0;transform:rotate(-4deg);text-shadow:0 2px 10px #001}.product-note{text-align:right;color:#d6e4eb;font-size:10px}.product-note small{color:#9fc2ce}
.login-formpane{padding:20px 28px 14px;display:flex;flex-direction:column;background:linear-gradient(180deg,#08182b,#071525);overflow:auto}.auth-utility-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.desktop-download{width:100%;min-height:50px;border:1.5px solid #04ddd5;border-radius:10px;display:flex;align-items:center;gap:9px;padding:7px 10px;color:#dff;background:rgba(8,65,78,.16)}.desktop-download:hover{background:rgba(8,65,78,.3)}.download-icon{width:32px;height:32px;border-radius:8px;background:#063b49;color:#24e8df;display:grid;place-items:center;font-size:21px;font-weight:800;flex:0 0 auto}.desktop-download b{display:block;color:#2af0e4;font-size:11px}.desktop-download small{display:block;color:#a9c4d3;font-size:8px;margin-top:2px}.banner-arrow{margin-left:auto;color:#2af0e4;font-size:22px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#0e2139;border-radius:10px;padding:3px;margin:0 0 14px}.auth-tabs button{background:transparent;color:#a9c5d7;padding:8px!important;font-size:11px;border-radius:8px}.auth-tabs button.active{background:#173252;color:#31ebe1;box-shadow:inset 0 0 0 1px #1b5674}.login-heading h2{font-size:23px;margin:0 0 4px;color:#fff}.login-heading p{font-size:11px;margin:0 0 12px;color:#a8c0d2}.auth-form{display:grid;gap:9px}.auth-form>label>span{display:block;font-size:9px;font-weight:800;letter-spacing:.08em;color:#9dbad0;margin-bottom:4px}.field-wrap{display:flex;align-items:center;background:#0b1e34;border:1px solid #244b69;border-radius:9px;overflow:hidden}.field-wrap:focus-within{border-color:#21dcd4;box-shadow:0 0 0 3px rgba(33,220,212,.08)}.field-wrap input{border:0!important;background:transparent!important;font-size:14px;padding:10px 8px}.field-icon{width:38px;text-align:center;font-size:17px;color:#a8c9e0}.password-field input{background:#eef4ff!important;color:#0b1930!important}.auth-form input{width:100%;border:1px solid #244b69;background:#0b1e34;color:#fff;border-radius:9px;padding:9px 10px;outline:none}.auth-options{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#aec5d7;font-size:10px}.check{display:flex!important;align-items:center;gap:8px}.check input{width:auto}.login-row{display:grid;grid-template-columns:1.6fr .8fr;gap:8px}.signin-btn{width:100%;padding:10px 14px;font-size:14px;border-radius:9px;background:linear-gradient(90deg,#59edd8,#1fd7c7)}.signin-btn span{font-size:17px}.msg{min-height:14px;font-size:10px;color:#ffb4be}.device-card{margin-top:9px;border:1px solid #0cc8c4;border-radius:10px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;background:#07303b;color:#ddffff}.device-card small{display:block;font-size:8px;color:#9dbdc8;letter-spacing:.08em}.device-card strong{display:block;color:#41eee1;font-family:ui-monospace,Consolas,monospace;font-size:9px;margin-top:2px;word-break:break-all}.device-state{font-size:9px;border:1px solid #1d776f;border-radius:999px;padding:5px 7px;color:#60f3e8}.local-privacy-line{margin-top:auto;padding-top:6px;text-align:center;color:#6f91a8;font-size:8px;letter-spacing:.02em;line-height:1.4}
/* Desktop shell */
.app{display:grid;grid-template-columns:250px minmax(0,1fr);height:100vh;min-height:0}.app>aside{background:#0d1526;border-right:1px solid var(--line);padding:14px 12px 12px;display:flex;flex-direction:column;gap:10px;height:100vh;overflow:hidden}.logo{display:flex;gap:10px;align-items:center;padding:2px 5px 8px}.mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--brand),#4eb8ff);display:grid;place-items:center;color:#07120d;font-weight:900;font-size:12px;flex:0 0 auto}.logo b{display:block;font-size:13px;letter-spacing:.02em}.logo small{display:block;color:var(--muted);font-size:9px;margin-top:2px}nav{display:grid;gap:3px;overflow:auto;padding-right:2px}.navbtn{background:transparent;text-align:left;color:#b8c5d8;padding:8px 10px;border-radius:9px;display:flex;align-items:center;gap:9px;font-weight:650;font-size:12px}.navbtn .ico{width:20px;text-align:center;font-size:13px;color:#78dcca}.navbtn.active,.navbtn:hover{background:#17243b;color:#fff}.side-contact{margin-top:auto;padding:8px 8px 0;border-top:1px solid var(--line);display:grid;gap:2px}.side-contact b{font-size:11px}.side-contact span{font-size:9px;color:#74cfff}.local-ready{margin:3px 8px 0;font-size:9px;color:#8eeac3}.status-dot{display:inline-block;width:7px;height:7px;background:var(--brand);border-radius:50%;margin-right:5px;box-shadow:0 0 10px rgba(62,207,142,.5)}.side-foot{margin-top:4px;border-top:1px solid var(--line);padding:8px 5px 0;display:flex;justify-content:space-between;gap:8px;align-items:center}.side-foot b{font-size:10px}.side-foot small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.side-foot button{background:#17243b;border:1px solid #2d405e;color:#fff;padding:7px 9px}
main{min-width:0;height:100vh;overflow:auto}header{height:76px;padding:0 18px 0 20px;background:rgba(11,16,32,.96);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}header h1{margin:0;font-size:18px;color:#fff}.header-title>.muted{font-size:9px;margin-top:2px}#statusText{font-size:9px;color:#79e4b5;margin-top:2px}.header-actions{display:flex;gap:7px;align-items:center}.icon-btn{background:transparent;border:1px solid var(--line);color:var(--text);border-radius:9px;padding:7px 9px;min-width:34px}.profile{display:flex;gap:7px;align-items:center;margin-left:2px}.profile-dot{width:8px;height:8px;background:var(--brand);border-radius:50%}.profile b{display:block;font-size:10px;color:#dce8f8}.profile small{display:block;font-size:8px;color:var(--muted)}#content{padding:16px;min-height:calc(100vh - 76px)}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px;box-shadow:var(--shadow)}.card b{display:block;font-size:20px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card span{display:block;color:var(--muted);margin-top:4px;font-size:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.panel h3{margin:0 0 10px;color:#fff;font-size:13px}.panel p{line-height:1.55;font-size:11px}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.quick-grid button{text-align:left;background:#17243b;color:#dbe8f7;border:1px solid #2a3a55;padding:9px 10px;font-size:11px}.performance-head{display:flex;justify-content:space-between;align-items:center}.live-pill{font-size:8px;border:1px solid #2d7857;color:#84efbe;border-radius:999px;padding:4px 7px}.bar-chart{height:145px;display:flex;gap:7px;align-items:flex-end;padding:12px 3px 2px}.bar-day{flex:1;display:grid;gap:4px;justify-items:center;height:100%;align-content:end}.bar-track{width:100%;height:112px;display:flex;align-items:flex-end;background:#0e1729;border-radius:7px;overflow:hidden;border:1px solid #22324c}.bar-fill{width:100%;background:linear-gradient(180deg,#4eb8ff,var(--brand));min-height:3px}.bar-day small{font-size:8px;color:var(--muted)}
.toolbar{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.toolbar .grow{flex:1;min-width:180px}.toolbar input,.toolbar select{max-width:280px}.toolbar .grow input{max-width:none}.count-pill,.badge{display:inline-block;padding:4px 7px;border-radius:20px;background:#22324c;color:#cbd9ea;font-size:9px}.badge.ok{background:#153728;color:#aef0ce}.badge.warn{background:#473719;color:#ffe2a0}.badge.bad{background:#48232b;color:#ffbdc6}input,select,textarea{width:100%;border:1px solid var(--line);background:#0e1729;color:var(--text);border-radius:8px;padding:8px 9px;outline:none;font-size:11px}input:focus,select:focus,textarea:focus{border-color:#36d7a0;box-shadow:0 0 0 3px rgba(62,207,142,.08)}textarea{min-height:76px;resize:vertical}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.table{width:100%;border-collapse:collapse;min-width:700px}.table th,.table td{padding:8px 9px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;vertical-align:top;font-size:10px}.table th{background:#10182a;color:var(--muted);position:sticky;top:0;font-size:9px;text-transform:uppercase}.table tr:hover td{background:#151f34}.actions-cell{display:flex;gap:5px}.empty{padding:28px;text-align:center;color:var(--muted);font-size:11px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.form-grid .full{grid-column:1/-1}.form-grid label{font-size:10px;color:#cbd7e8}.form-grid label>span{display:block;margin:0 0 4px}.modal{position:fixed;inset:0;background:#000b;display:grid;place-items:center;padding:14px;z-index:50}.modal-card{background:#111a2c;border:1px solid var(--line);width:min(780px,96vw);max-height:92vh;overflow:auto;border-radius:14px;padding:15px;box-shadow:0 30px 80px #0008}.modal-card.wide{width:min(900px,97vw)}.modal-head{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:9px}.modal-head h3{margin:0;color:#fff;font-size:14px}.modal-head button{background:#17243b;color:#e5effc;padding:6px 8px}.modal-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:11px;padding-top:9px;border-top:1px solid var(--line)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.detail-item{background:#0e1729;border:1px solid var(--line);border-radius:8px;padding:8px}.detail-item small{display:block;color:var(--muted);margin-bottom:3px;font-size:9px}.detail-item b{word-break:break-word;font-size:10px}.timeline{display:grid;gap:7px}.timeline-item{padding:8px 10px;border-left:3px solid var(--brand);background:#0e1729;font-size:10px}.timeline-item small{color:var(--muted)}.search-results{display:grid;gap:7px}.search-result{border:1px solid var(--line);border-radius:9px;padding:9px;background:#0e1729;font-size:10px}.search-result b{color:#fff}.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calc-total{font-size:25px;color:#6bf5ca;font-weight:800}.report-list{display:grid;gap:6px}.report-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:10px}.report-row:last-child{border:0}.settings-section{margin-bottom:12px}
.recent-table{width:100%;border-collapse:collapse}.recent-table th,.recent-table td{padding:7px 8px;border-bottom:1px solid var(--line);font-size:9px;text-align:left}.recent-table th{color:var(--muted);font-weight:650}.recent-table td:last-child{text-align:right}.activity-type{display:inline-block;border-radius:999px;padding:3px 6px;background:#17243b;color:#8fd7ff;font-size:8px}
.light{--bg:#f4f7fb;--panel:#fff;--panel2:#f3f6fa;--line:#dce4ef;--text:#182235;--muted:#66748a;--shadow:0 12px 30px rgba(20,35,60,.08)}.light body{background:var(--bg);color:var(--text)}.light .app>aside{background:#fff}.light header{background:rgba(244,247,251,.96)}.light header h1,.light .panel h3,.light .card b{color:#182235}.light input,.light select,.light textarea{background:#fff;color:#182235}.light .navbtn.active,.light .navbtn:hover,.light .quick-grid button,.light .icon-btn,.light .side-foot button{background:#eef3f9;color:#182235}.light .table th{background:#f4f7fb}.light .table tr:hover td{background:#f7faff}.light .detail-item,.light .timeline-item,.light .search-result{background:#f7faff}.light .modal-card{background:#fff;color:#182235}
@media(max-width:850px){body{overflow:auto}.auth-gate{padding:12px;overflow:auto}.furniture-login-window{width:100%;height:auto;min-height:calc(100vh - 24px);grid-template-columns:1fr}.login-visual{display:none}.login-formpane{padding:24px 20px}.app{min-width:900px}.profile{display:none}}
@media print{body{overflow:visible}.auth-gate,aside,header,.toolbar,.modal-head button,.modal-actions{display:none!important}.app{display:block;height:auto}main{height:auto;overflow:visible}#content{padding:0}.panel,.card,.table-wrap{box-shadow:none;border-color:#bbb}.table th{position:static}}
.dashboard-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dashboard-heading h2{font-size:15px;margin:0;color:#fff}.dashboard-heading p{font-size:9px;margin:3px 0 0}.finance-stats{margin-top:10px}.dashboard-middle{grid-template-columns:1.2fr .8fr}.dashboard-middle .panel{min-height:190px}.recent-panel{margin-top:12px}.dashboard-table{margin-top:9px;border:0}.light .dashboard-heading h2{color:#182235}.light .bar-track{background:#edf2f8}.light .recent-table th{color:#66748a}.light .activity-type{background:#e8f1fb;color:#246895}

/* V6 — Rice Mill style Login/Demo/Paid/AppAdmin + Nabanita voice assistant */
.demo-wide,.paid-wide{width:100%;padding:9px 12px;border-radius:9px;font-size:11px;font-weight:850}.demo-wide{background:#12382f;color:#bfffe8;border:1px solid #2c8a70}.paid-wide{background:#3b3115;color:#ffe8a3;border:1px solid #94772e}.auth-form .demo-wide,.auth-form .paid-wide{margin-top:0}.msg.ok{color:#76f2c5}.msg.err{color:#ffb4be}
#assistantControlWrap{display:flex;align-items:center;gap:8px;width:max-content;z-index:170}#assistantControlWrap.assistant-login{position:relative;margin:0 0 10px auto}#assistantControlWrap.assistant-floating{position:fixed;right:18px;bottom:18px}#appAssistantFab{border:1px solid rgba(56,189,248,.65);background:#071223;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.42),0 0 0 1px rgba(56,189,248,.12);display:flex;align-items:center;justify-content:center;cursor:pointer;outline:none;overflow:hidden;width:60px;height:60px;border-radius:18px;padding:0;flex:0 0 auto}#appAssistantFab img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}#appAssistantFab:hover{filter:brightness(1.08)}#appAssistantFab:active{transform:scale(.96)}#assistantMuteBtn{width:34px;height:34px;border-radius:50%;border:1px solid rgba(56,189,248,.65);background:#0f1b2d;color:#bae6fd;display:flex;align-items:center;justify-content:center;padding:7px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.3)}#assistantMuteBtn svg{display:block;width:100%;height:100%;fill:currentColor}#assistantControlWrap.voice-muted #appAssistantFab{filter:grayscale(.85) brightness(.62)}#assistantControlWrap.voice-muted #assistantMuteBtn{color:#ff8080;border-color:#ff8080aa}@media(max-width:600px){#assistantControlWrap.assistant-floating{right:10px;bottom:10px}#appAssistantFab{width:56px;height:56px}#assistantMuteBtn{width:32px;height:32px;padding:6px}}
