:root{color:#17211c;background:#eef3f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);background:linear-gradient(180deg,#ffffffc7,#eef3f5eb),#eef3f5}.sidebar{position:sticky;top:0;min-height:100vh;display:flex;flex-direction:column;gap:26px;padding:24px 18px;border-right:1px solid #dbe4e2;background:#ffffffc7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-block,.section-heading,.panel-title,.user-meta,.entity-title,.device-card-header,.user-actions,.metric-card,.device-meta-grid span,.input-with-icon{display:flex;align-items:center}.brand-block{gap:12px;padding:8px 6px}.brand-block span,.eyebrow,.metric-card span,.form-heading span,.device-title span,.admin-card-header span,.user-meta span,.log-day-header span,.log-copy span,.empty,.session-user small,.section-header p{color:#667873}.brand-block span,.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.brand-block strong{display:block;margin-top:2px;font-size:1.02rem}.brand-mark,.device-icon,.section-icon,.metric-icon,.empty-icon,.avatar{display:inline-grid;flex:0 0 auto;place-items:center;border-radius:8px;background:#dff1e8;color:#176044}.brand-mark{width:52px;height:52px}.panel-menu{display:grid;gap:8px}.menu-button{min-height:46px;display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 13px;border:1px solid transparent;border-radius:8px;background:transparent;color:#42534e;font-weight:800;text-align:left}.menu-button:hover,.icon-button:hover,.ghost-button:hover,.secondary-button:hover{border-color:#b9c9c5;background:#fff}.menu-button.active{border-color:#b9ddd0;background:#e7f5ef;color:#135c40}.content-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:28px 0 46px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.topbar h1{margin-top:4px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.02}.user-actions{gap:10px}.session-user{min-height:44px;display:grid;justify-items:end;padding-right:4px}.session-user span{color:#26342f;font-weight:900}.icon-button,.icon-danger-button{width:42px;height:42px;display:inline-grid;place-items:center;border-radius:8px}.icon-button{border:1px solid #d4dfdc;background:#fff;color:#26342f}.icon-danger-button{border:1px solid #f1c4c4;background:#fff4f4;color:#a22d2d}.notice{margin:0 0 18px;padding:13px 15px;border:1px solid #b8dacb;border-radius:8px;background:#e9f7f0;color:#1f5e42;font-weight:800}.notice.error{border-color:#efb7b7;background:#fff1f1;color:#8e2c2c}.view-stack{display:grid;gap:18px}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px 0 2px}.section-heading{align-items:flex-start;gap:12px}.section-icon{width:42px;height:42px}.section-header h2{margin-top:2px;font-size:clamp(1.35rem,2.4vw,2rem)}.section-header p{margin-top:7px;max-width:680px;line-height:1.45}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card,.device-card,.panel,.admin-card,.user-row,.log-day-card,.empty-state,.auth-card{border:1px solid #dce6e3;border-radius:8px;background:#ffffffeb;box-shadow:0 16px 50px #22343014}.metric-card{gap:12px;min-height:92px;padding:18px}.metric-card strong{display:block;margin-top:4px;font-size:1.45rem;line-height:1.1}.metric-card.compact strong{max-width:220px;overflow:hidden;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.metric-icon{width:42px;height:42px;background:#eef4f5;color:#38514b}.metric-card.success .metric-icon{background:#dff5ea;color:#146342}.device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px}.device-card{display:grid;gap:18px;padding:18px}.device-card-header{align-items:flex-start;gap:12px}.device-icon{width:52px;height:52px}.device-title{min-width:0;flex:1}.device-title h3,.entity-title strong{overflow-wrap:anywhere}.device-title h3{font-size:1.1rem}.device-title span,.admin-card-header span,.user-meta span{display:block;margin-top:4px}.status{display:inline-flex;width:fit-content;align-items:center;gap:7px;padding:7px 9px;border-radius:8px;font-size:.84rem;font-weight:900}.status.online{background:#e1f6eb;color:#176044}.status.offline{background:#eef1f1;color:#65716d}.device-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.device-meta-grid span{gap:7px;min-height:38px;padding:0 10px;border:1px solid #e3ece9;border-radius:8px;color:#53625e;font-size:.88rem;font-weight:800}.open-actions{display:grid;gap:9px}.open-button,.submit-button,.secondary-button,.danger-button,.ghost-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:8px;font-weight:900}.open-button,.submit-button{border:0;background:#176044;color:#fff}.open-button:hover,.submit-button:hover{background:#114d36}.secondary-button,.ghost-button{border:1px solid #ccd9d6;background:#fff;color:#26342f}.secondary-button,.danger-button,.ghost-button{padding:0 14px}.danger-button{border:1px solid #f0c0c0;background:#fff3f3;color:#9a2f2f}.panel,.admin-card,.log-day-card{padding:18px}.panel-title{gap:9px;margin-bottom:14px}.panel-title h3,.subsection h3{font-size:1rem}.form-grid{display:grid;align-items:end;gap:12px}.user-form{grid-template-columns:minmax(160px,1fr) minmax(180px,1.1fr) minmax(150px,.9fr) minmax(130px,.7fr) auto}.device-form{grid-template-columns:minmax(160px,1fr) minmax(170px,1fr) minmax(170px,1fr) auto}.action-form{grid-template-columns:minmax(180px,1.3fr) minmax(130px,.8fr) minmax(90px,.45fr) minmax(110px,.55fr) auto}label{display:grid;gap:7px;color:#31413d;font-size:.9rem;font-weight:900}input,select{min-height:46px;width:100%;border:1px solid #cbd9d5;border-radius:8px;padding:0 12px;color:#16211c;background:#fff;outline:none}input:focus,select:focus{border-color:#4a9d7b;box-shadow:0 0 0 3px #4a9d7b29}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;left:12px;color:#70807c}.input-with-icon input{padding-left:40px}.device-admin-list,.user-list,.log-day-list,.action-list{display:grid;gap:12px}.admin-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:16px;border-bottom:1px solid #edf2f1}.entity-title{flex-wrap:wrap;gap:8px}.subsection{display:grid;gap:12px;padding:16px 0;border-bottom:1px solid #edf2f1}.action-edit-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(90px,.35fr) minmax(110px,.45fr) auto auto;align-items:end;gap:10px;padding:12px;border:1px solid #edf2f1;border-radius:8px;background:#fbfdfd}.user-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px}.user-meta{min-width:0;gap:12px}.avatar{width:42px;height:42px;background:#eef4f5;color:#3f5651}.user-actions-form{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.password-inline-input{width:min(210px,100%)}.role-pill,.managed-hint{display:inline-flex;align-items:center;width:fit-content;border-radius:8px;font-size:.82rem;font-weight:900}.role-pill{padding:5px 8px;background:#eef4f5;color:#344943}.managed-hint{min-height:36px;padding:0 10px;background:#edf7f2;color:#176044}.log-day-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.log-day-header h3{font-size:1.02rem;text-transform:capitalize}.log-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:13px 0;border-top:1px solid #edf2f1;color:#344540}.log-row:first-child{border-top:0}.log-indicator{width:9px;height:9px;margin-top:6px;border-radius:999px;background:#44a779}.log-copy{display:grid;gap:4px}.log-row time{color:#667873;font-weight:800;white-space:nowrap}.empty-state{display:flex;align-items:center;gap:14px;padding:22px}.empty-icon{width:48px;height:48px;background:#eef4f5;color:#50645f}.empty-state h3{margin-bottom:4px;font-size:1.02rem}.empty-state p,.empty.compact{line-height:1.45}.empty.compact{padding:10px 0}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#1760441f,#426e7a1f),#eef3f5}.auth-layout{width:min(960px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:28px;align-items:center}.auth-copy{display:grid;gap:14px}.auth-copy h1{max-width:620px;font-size:clamp(2.4rem,5vw,4.6rem);line-height:.98}.auth-copy p{max-width:560px;color:#53645f;font-size:1.06rem;line-height:1.6}.auth-card{display:grid;gap:16px;padding:24px}.form-heading{display:grid;gap:4px;margin-bottom:4px}.form-heading h2{font-size:1.35rem}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;min-height:auto;gap:14px;padding:14px 20px;border-right:0;border-bottom:1px solid #dbe4e2}.brand-block{padding:0}.panel-menu{display:flex;overflow-x:auto;padding-bottom:2px}.menu-button{flex:0 0 auto}.content-shell{width:min(100% - 28px,1180px);padding-top:22px}.metric-grid,.user-form,.device-form,.action-form,.action-edit-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){body{background:#eef3f5}.app-shell{min-height:100dvh;display:block;padding-bottom:calc(82px + env(safe-area-inset-bottom))}.sidebar{position:fixed;top:auto;right:10px;bottom:10px;bottom:calc(10px + env(safe-area-inset-bottom));left:10px;z-index:20;min-height:0;padding:8px;border:1px solid rgba(203,217,213,.9);border-radius:8px;background:#fffffff0;box-shadow:0 18px 46px #17211c33;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-block{display:none}.panel-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(66px,1fr));gap:4px;overflow:visible;padding:0}.menu-button{min-height:58px;flex:initial;flex-direction:column;justify-content:center;gap:4px;padding:6px 4px;font-size:.72rem;line-height:1;text-align:center}.menu-button svg{width:20px;height:20px}.content-shell{width:min(100% - 20px,1180px);padding:14px 0 18px}.topbar,.section-header,.admin-card-header,.user-row,.log-day-header{align-items:flex-start;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;gap:12px;margin:0 -10px 14px;padding:12px 10px;border-bottom:1px solid rgba(219,228,226,.86);background:#eef3f5f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar h1{font-size:1.8rem}.topbar,.user-actions,.section-action,.danger-button,.user-actions-form,.password-inline-input,.secondary-button,.ghost-button,.submit-button{width:100%}.user-actions{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;justify-content:space-between}.session-user{justify-items:start;margin-right:auto;min-width:0;min-height:40px}.session-user span,.session-user small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-meta-grid,.user-form,.device-form,.action-form,.action-edit-row,.auth-layout{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric-card{min-height:78px;gap:9px;padding:12px}.metric-icon{width:34px;height:34px}.metric-card strong{font-size:1.12rem}.metric-card.compact strong{max-width:100%;font-size:.92rem}.section-header{gap:10px;padding-top:6px}.section-heading{gap:10px}.section-icon{width:36px;height:36px}.section-header h2{font-size:1.28rem}.section-header p{font-size:.94rem}.view-stack,.device-grid{gap:12px}.device-card{gap:14px}.device-icon{width:46px;height:46px}.device-card-header{display:grid;grid-template-columns:auto minmax(0,1fr)}.device-card-header .status{grid-column:1 / -1}.log-row{grid-template-columns:auto minmax(0,1fr)}.log-row time{grid-column:2}.panel-title{margin-bottom:12px}.form-grid{gap:10px}.action-edit-row{padding:10px}.action-edit-row .secondary-button,.action-edit-row .icon-danger-button{width:100%}.action-edit-row .icon-danger-button{height:44px}.user-row{gap:12px}.user-meta{width:100%}.user-actions-form{display:grid;grid-template-columns:1fr 44px}.user-actions-form .password-inline-input,.user-actions-form .secondary-button,.user-actions-form .managed-hint{grid-column:1 / -1}.user-actions-form .icon-danger-button{width:44px;grid-column:2;justify-self:end}.log-day-card{padding-top:16px}.empty-state{align-items:flex-start;gap:12px}.auth-screen{place-items:start center;padding:18px 14px;min-height:100dvh}.auth-layout{gap:16px;align-content:start}.auth-copy{gap:10px}.auth-copy .brand-mark{width:46px;height:46px}.auth-copy h1{font-size:2.05rem;line-height:1.03}.auth-copy p{font-size:.98rem;line-height:1.45}.auth-card{width:100%}}@media(max-width:460px){.content-shell{width:min(100% - 16px,1180px)}.sidebar{right:8px;bottom:8px;bottom:calc(8px + env(safe-area-inset-bottom));left:8px;padding:7px}.topbar h1{font-size:1.65rem}.metric-card,.device-card,.panel,.admin-card,.user-row,.log-day-card,.auth-card{padding:14px}.brand-mark{width:46px;height:46px}.panel-menu{gap:3px}.menu-button{min-height:56px;font-size:.68rem}.metric-grid{gap:7px}.metric-card{align-items:flex-start;flex-direction:column;min-height:94px}.open-button,.submit-button,.secondary-button,.danger-button,.ghost-button,input,select{min-height:48px}.auth-copy h1{font-size:1.86rem}}@media(max-width:360px){.metric-grid{grid-template-columns:1fr}.menu-button span{display:none}.menu-button{min-height:50px}}
