:root{color:#17324d;font-synthesis:none;text-rendering:optimizelegibility;--nora-blue:#246b8e;--nora-blue-dark:#174b67;--nora-turquoise:#24a7a5;--nora-green:#62a744;--nora-bg:#f4f8fa;--nora-surface:#fff;--nora-border:#dbe6eb;--nora-text:#17324d;--nora-muted:#6b7f8c;--nora-danger:#b94747;--nora-warning:#b47a20;--nora-success:#468a3d;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--shadow-soft:0 8px 28px #204d6214;background:#f4f8fa;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--nora-bg);min-width:320px}body{background:radial-gradient(circle at top right, #24a7a514, transparent 320px), var(--nora-bg);min-width:320px;min-height:100vh;color:var(--nora-text);margin:0}button,input,select,textarea{font:inherit}button{border-radius:var(--radius-sm);cursor:pointer;background:var(--nora-blue);color:#fff;border:0;padding:10px 16px;font-weight:600;transition:transform .15s,background .15s,opacity .15s}button:hover:not(:disabled){background:var(--nora-blue-dark)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{border:1px solid var(--nora-border);border-radius:var(--radius-sm);width:100%;color:var(--nora-text);background:#fff;outline:none;padding:11px 12px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--nora-turquoise);box-shadow:0 0 0 3px #24a7a51f}label{color:var(--nora-text);font-weight:600}a{color:inherit}main{width:min(1180px,100% - 32px);margin:0 auto;padding:24px 0 64px}h1,h2,h3{color:var(--nora-text);line-height:1.2}h1{margin:26px 0 20px;font-size:clamp(1.8rem,4vw,2.5rem)}h2{font-size:1.25rem}section,article{background:var(--nora-surface);border:1px solid var(--nora-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}section{padding:22px}article{padding:20px}p{line-height:1.6}.nora-muted{color:var(--nora-muted)}.nora-success{color:var(--nora-success)}.nora-error{color:var(--nora-danger)}.nora-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.nora-card{background:var(--nora-surface);border:1px solid var(--nora-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:20px}@media (width<=800px){main{width:min(100% - 20px,1180px);padding-top:12px}.nora-grid{grid-template-columns:1fr}section{padding:18px}}.login-page{place-items:center;width:min(1080px,100% - 32px);min-height:100vh;padding:32px 0;display:grid}.login-layout{border:1px solid var(--nora-border);background:#fff;border-radius:28px;grid-template-columns:minmax(0,1.05fr) minmax(340px,.75fr);width:100%;display:grid;overflow:hidden;box-shadow:0 24px 70px #204d621f}.login-brand-panel{min-height:580px;box-shadow:none;color:#fff;background:radial-gradient(circle at 80% 15%,#62a7442e,#0000 210px),linear-gradient(145deg,#174b67 0%,#246b8e 48%,#24a7a5 100%);border:0;border-radius:0;flex-direction:column;justify-content:space-between;padding:42px;display:flex}.login-brand{align-items:center;gap:14px;display:flex}.login-logo{background:0 0;border:0;border-radius:0;flex:0 0 60px;justify-content:center;align-items:center;width:60px;min-width:60px;max-width:60px;height:60px;display:flex;overflow:hidden}.login-logo img{object-fit:contain;width:60px;max-width:60px;height:60px;max-height:60px;display:block}.login-brand>div:last-child{flex-direction:column;display:flex}.login-brand strong{letter-spacing:.06em;font-size:1.35rem}.login-brand span{opacity:.78;margin-top:2px;font-size:.78rem}.login-welcome{max-width:520px}.login-welcome h1{color:#fff;white-space:nowrap;margin:8px 0 18px;font-size:clamp(2rem,4vw,3.3rem);line-height:1.05}.login-welcome>p:last-child{color:#ffffffd1;max-width:480px;margin:0;font-size:1.02rem;line-height:1.7}.login-eyebrow{color:var(--nora-turquoise);letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:800}.login-brand-panel .login-eyebrow{color:#ffffffb8}.login-brand-footer{color:#ffffff9e;font-size:.78rem}.login-card{box-shadow:none;border:0;border-radius:0;flex-direction:column;justify-content:center;padding:48px;display:flex}.login-card-header h2{margin:6px 0 8px;font-size:1.7rem}.login-card-header>p:last-child{color:var(--nora-muted);margin:0}.login-form{flex-direction:column;gap:18px;margin-top:28px;display:flex}.login-form label{flex-direction:column;gap:7px;font-size:.88rem;display:flex}.login-form button{width:100%;min-height:52px;margin-top:4px;padding:13px 18px}.login-error{color:var(--nora-danger);background:#b947470f;border:1px solid #b9474738;border-radius:12px;flex-direction:column;gap:3px;padding:12px 14px;font-size:.88rem;font-weight:700;display:flex}.login-error small{font-weight:400}.login-security{text-align:center;color:var(--nora-muted);margin:22px 0 0;font-size:.78rem}@media (width<=780px){.login-page{width:min(100% - 20px,1080px);padding:20px 0}.login-layout{border-radius:20px;grid-template-columns:1fr}.login-brand-panel{gap:34px;min-height:auto;padding:24px 22px}.login-brand-footer{display:none}.login-welcome{max-width:none}.login-welcome h1{text-align:center;white-space:nowrap;margin:0;font-size:1.82rem;line-height:1.05}.login-welcome>p:last-child{font-size:.98rem;line-height:1.65}.login-card{padding:28px 20px}.login-welcome .login-eyebrow,.login-welcome>p:last-child{display:none}.login-brand-panel{gap:22px;padding:22px}.login-welcome h1{margin:0}@media (width<=420px){.login-brand-panel{gap:30px;padding:22px 20px}.login-logo{flex-basis:52px;width:52px;min-width:52px;max-width:52px;height:52px}.login-logo img{width:52px;max-width:52px;height:52px;max-height:52px}.login-brand strong{font-size:1.2rem}.login-welcome h1{white-space:nowrap;font-size:1.62rem}.login-card{padding:26px 20px}}@media (width<=360px){.login-welcome h1{font-size:1.42rem}}.context-selector{align-items:end;gap:10px;min-width:0;display:flex}.context-selector label{color:#557387;flex-direction:column;flex:1;gap:5px;min-width:0;font-size:.72rem;display:flex}.context-selector label span{white-space:nowrap}.context-selector select{color:#24475d;text-overflow:ellipsis;box-sizing:border-box;background:#fff;border:1px solid #d5e3e9;border-radius:10px;width:100%;min-width:0;height:40px;padding:0 36px 0 12px;font-family:inherit;font-size:.86rem}.context-selector select:focus{outline-offset:1px;outline:2px solid #246b8e2e}.context-selector select:disabled{opacity:.85;cursor:default}@media (width>=1101px){.context-selector{flex:0 390px}.context-selector label:first-child{max-width:160px}.context-selector label:last-child{min-width:210px}}@media (width<=1100px){.context-selector{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;display:grid}}@media (width<=650px){.context-selector{grid-template-columns:1fr 1fr;gap:8px}.context-selector select{height:42px;font-size:.82rem}}@media (width<=420px){.context-selector{grid-template-columns:1fr}}.nora-header{box-sizing:border-box;background:#fffffff5;border:1px solid #dce8ed;border-radius:22px;align-items:center;gap:18px;width:calc(100% - 48px);max-width:1180px;margin:18px auto 24px;padding:14px 18px;display:flex;box-shadow:0 10px 30px #14435a14}.nora-brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.nora-symbol{justify-content:center;align-items:center;width:48px;height:48px;display:flex}.nora-symbol img{object-fit:contain;width:100%;height:100%;display:block}.nora-brand-text{flex-direction:column;line-height:1.1;display:flex}.nora-brand-text strong{color:#123b59;letter-spacing:.02em;font-size:1.2rem}.nora-brand-text small{color:#557387;white-space:nowrap;margin-top:4px;font-size:.7rem}.nora-nav{align-items:center;gap:6px;margin-left:auto;display:flex}.nora-nav-link{color:#557387;white-space:nowrap;border-radius:11px;justify-content:center;align-items:center;padding:10px 13px;font-size:.92rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:flex}.nora-nav-link:hover{color:#123b59;background:#f0f7f9}.nora-nav-link.active{color:#0d5870;background:#e3f3f4}.nora-logout{color:#557387;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d5e3e9;border-radius:11px;flex-shrink:0;min-height:44px;padding:0 18px;font-size:.9rem;font-weight:600}.nora-logout:hover{color:#123b59;background:#f7fafb}@media (width<=1100px){.nora-header{grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav logout""selector selector selector";gap:14px;padding:14px 16px;display:grid}.nora-brand{grid-area:brand}.nora-nav{grid-area:nav;justify-content:center;margin-left:0}.context-selector{grid-area:selector}.nora-logout{grid-area:logout}}@media (width<=820px){.nora-header{grid-template-columns:1fr auto;grid-template-areas:"brand logout""nav nav""selector selector";width:calc(100% - 28px);margin-top:14px}.nora-nav{grid-template-columns:repeat(4,1fr);gap:6px;width:100%;display:grid}.nora-nav-link{box-sizing:border-box;width:100%;padding:10px 6px}}@media (width<=650px){.nora-header{border-radius:18px;row-gap:12px;width:calc(100% - 20px);margin:10px auto 18px;padding:12px}.nora-symbol{width:42px;height:42px}.nora-brand-text strong{font-size:1.05rem}.nora-brand-text small{font-size:.62rem}.nora-logout{min-height:40px;padding:0 12px;font-size:.78rem}.nora-nav-link{padding:9px 3px;font-size:.78rem}}@media (width<=420px){.nora-header{grid-template-columns:1fr auto}.nora-symbol{width:38px;height:38px}.nora-brand-text small{display:none}.nora-nav{gap:4px}.nora-nav-link{padding:8px 2px;font-size:.72rem}.nora-logout{padding:0 10px;font-size:.74rem}}@media (width<=360px){.nora-header{grid-template-columns:1fr;grid-template-areas:"brand""logout""nav""selector"}.nora-brand{justify-self:center}.nora-logout{width:100%}}.dashboard-loading{text-align:center;color:var(--nora-muted);margin-top:40px;padding:32px}.dashboard-hero{background:linear-gradient(135deg,#246b8e14,#24a7a514),#fff;border:0;justify-content:space-between;align-items:center;gap:32px;margin-top:24px;padding:28px 30px;display:flex}.dashboard-hero h1{margin:4px 0 8px}.dashboard-eyebrow{color:var(--nora-turquoise);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.dashboard-intro{color:var(--nora-muted);margin:0}.dashboard-home{border:1px solid var(--nora-border);background:#ffffffc7;border-radius:14px;flex-direction:column;gap:3px;min-width:230px;padding:16px 18px;display:flex}.dashboard-home span,.dashboard-home small{color:var(--nora-muted)}.dashboard-home span{text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700}.dashboard-home strong{margin-top:3px}.dashboard-error{border-radius:var(--radius-md);color:var(--nora-danger);background:#b947470f;border:1px solid #b9474740;flex-direction:column;gap:4px;margin-top:18px;padding:16px 18px;display:flex}.dashboard-summary{box-shadow:none;background:0 0;border:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:18px;padding:0;display:grid}.summary-card{border:1px solid var(--nora-border);border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-soft);background:#fff;padding:18px}.summary-label{min-height:38px;color:var(--nora-muted);font-size:.86rem;font-weight:600;display:block}.summary-number{color:var(--nora-blue-dark);margin-top:8px;font-size:2rem;line-height:1;display:block}.summary-completed .summary-number{color:var(--nora-success)}.summary-pending .summary-number{color:var(--nora-warning)}.summary-running .summary-number{color:var(--nora-turquoise)}.dashboard-columns{grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);align-items:start;gap:18px;margin-top:18px;display:grid}.dashboard-panel{margin:0}.dashboard-section-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.dashboard-section-header h2{margin:3px 0 0}.dashboard-count{min-width:38px;height:38px;color:var(--nora-blue-dark);background:#eef4f6;border-radius:999px;place-items:center;padding:0 10px;font-weight:800;display:grid}.dashboard-count-alert{color:var(--nora-warning);background:#b47a201f}.routine-list,.alert-list{flex-direction:column;gap:10px;display:flex}.routine-item{box-shadow:none;border-radius:13px;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.routine-time{color:var(--nora-blue-dark);font-size:1.05rem;font-weight:800}.routine-info{flex-direction:column;gap:2px;min-width:0;display:flex}.routine-info strong{text-overflow:ellipsis;overflow:hidden}.routine-info span,.routine-info small{color:var(--nora-muted);font-size:.82rem}.routine-state{white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:700}.routine-state-completed{color:var(--nora-success);background:#468a3d1c}.routine-state-pending{color:var(--nora-warning);background:#b47a201f}.routine-state-running{color:#187f7e;background:#24a7a51f}.routine-state-not_started{color:var(--nora-muted);background:#eef3f5}.alert-item{box-shadow:none;border-left-width:4px;padding:16px}.alert-important{border-left-color:var(--nora-danger)}.alert-attention{border-left-color:var(--nora-warning)}.alert-info{border-left-color:var(--nora-blue)}.alert-top{justify-content:space-between;gap:16px;display:flex}.alert-top h3{margin:5px 0 0;font-size:1rem}.alert-top small{color:var(--nora-muted);white-space:nowrap}.alert-status{color:var(--nora-warning);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:800}.alert-item p{color:var(--nora-muted)}.dashboard-ok{background:#468a3d12;border-radius:14px;align-items:center;gap:14px;padding:20px;display:flex}.dashboard-ok-icon{width:42px;height:42px;color:var(--nora-success);background:#468a3d1f;border-radius:50%;flex-shrink:0;place-items:center;font-size:1.35rem;font-weight:900;display:grid}.dashboard-ok strong{color:var(--nora-success)}.dashboard-ok p{color:var(--nora-muted);margin:2px 0 0;font-size:.9rem}.dashboard-empty{text-align:center;border:1px dashed var(--nora-border);color:var(--nora-muted);border-radius:13px;padding:24px}@media (width<=950px){.dashboard-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-columns{grid-template-columns:1fr}}@media (width<=650px){.dashboard-hero{flex-direction:column;align-items:stretch;padding:22px}.dashboard-home{min-width:0}.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.routine-item{grid-template-columns:58px minmax(0,1fr)}.routine-state{grid-column:2;justify-self:start}.alert-top{flex-direction:column;gap:4px}.alert-top small{white-space:normal}}@media (width<=390px){.dashboard-summary{grid-template-columns:1fr 1fr}.summary-card{padding:14px}.summary-number{font-size:1.7rem}}@media (width<=650px){.dashboard-summary .summary-card:last-child{grid-column:1/-1}}.routines-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin:30px 0 20px;display:flex}.routines-heading h1{margin:4px 0 8px}.routines-intro{color:var(--nora-muted);margin:0}.routines-eyebrow{color:var(--nora-turquoise);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.routines-new-button{flex-shrink:0;padding:12px 18px}.routines-message{border-radius:var(--radius-md);margin-bottom:18px;padding:14px 16px}.routines-message-error{color:var(--nora-danger);background:#b947470f;border:1px solid #b947473d}.routines-message-success{color:var(--nora-success);background:#468a3d12;border:1px solid #468a3d3d}.routine-form-panel{margin-bottom:20px;padding:26px}.routine-form-header,.routines-list-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.routine-form-header h2,.routines-list-header h2{margin:4px 0 0}.routine-form-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;margin-top:24px;display:grid}.routine-field{flex-direction:column;gap:7px;min-width:0;font-size:.88rem;display:flex}.routine-field-wide{grid-column:span 1}.routine-switch-row{border:1px solid var(--nora-border);background:#f9fbfc;border-radius:13px;margin-top:20px;padding:15px 16px}.routine-switch-label{cursor:pointer;align-items:center;gap:12px;display:flex}.routine-switch-label input{flex-shrink:0;width:20px;height:20px}.routine-switch-label span{flex-direction:column;gap:2px;display:flex}.routine-switch-label small{color:var(--nora-muted);font-weight:400}.routine-form-section{border-top:1px solid var(--nora-border);margin-top:28px;padding-top:24px}.routine-form-section h3{margin:0 0 12px}.routine-section-title p{color:var(--nora-muted);margin:-5px 0 16px;font-size:.9rem}.routine-days{flex-wrap:wrap;gap:8px;display:flex}.routine-day{border:1px solid var(--nora-border);width:44px;height:44px;color:var(--nora-muted);background:#fff;border-radius:50%;padding:0}.routine-day:hover:not(:disabled){color:var(--nora-blue-dark);background:#24a7a514}.routine-day.selected{border-color:var(--nora-turquoise);background:var(--nora-turquoise);color:#fff}.routine-reminder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.routine-number-field{position:relative}.routine-number-field input{padding-right:48px}.routine-number-field span{color:var(--nora-muted);font-size:.85rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.routine-voice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.routine-voice-grid .routine-field-wide{grid-column:1/-1}.routine-voice-grid textarea{resize:vertical;min-height:90px}.routine-form-actions{justify-content:flex-end;gap:10px;margin-top:26px;display:flex}.routine-secondary-button{border:1px solid var(--nora-border);color:var(--nora-muted);background:#fff}.routine-secondary-button:hover:not(:disabled){color:var(--nora-text);background:#f3f7f8}.routines-list-panel{padding:24px}.routines-total{min-width:40px;height:40px;color:var(--nora-blue-dark);background:#24a7a51f;border-radius:999px;place-items:center;padding:0 11px;font-weight:800;display:grid}.routines-list{flex-direction:column;gap:11px;margin-top:18px;display:flex}.routine-card{box-shadow:none;grid-template-columns:82px minmax(0,1fr);gap:16px;padding:16px;display:grid}.routine-card-disabled{opacity:.62}.routine-card-time{min-height:70px;color:var(--nora-blue-dark);background:#246b8e12;border-radius:12px;align-self:stretch;place-items:center;font-size:1.1rem;font-weight:800;display:grid}.routine-card-content{min-width:0}.routine-card-title-row{justify-content:space-between;gap:14px;display:flex}.routine-card-title-row h3{margin:2px 0 5px}.routine-card-meta{color:var(--nora-muted);flex-wrap:wrap;gap:6px;font-size:.84rem;display:flex}.routine-priority{border-radius:999px;height:fit-content;padding:6px 9px;font-size:.75rem;font-weight:800}.priority-high{color:var(--nora-danger);background:#b947471a}.priority-medium{color:var(--nora-warning);background:#b47a201c}.priority-low{color:var(--nora-success);background:#468a3d1a}.routine-card-bottom{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.routine-enabled,.routine-disabled{font-size:.78rem;font-weight:700}.routine-enabled{color:var(--nora-success)}.routine-disabled{color:var(--nora-muted)}.routine-edit-button{border:1px solid var(--nora-border);color:var(--nora-blue-dark);background:#fff;padding:8px 13px}.routine-edit-button:hover:not(:disabled){color:var(--nora-blue-dark);background:#246b8e0f}.routines-empty{text-align:center;border:1px dashed var(--nora-border);color:var(--nora-muted);border-radius:14px;margin-top:18px;padding:34px}.routines-empty p{margin-bottom:0}@media (width<=900px){.routine-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.routine-field-wide{grid-column:1/-1}}@media (width<=650px){.routines-heading{flex-direction:column;align-items:stretch}.routines-new-button{width:100%}.routine-form-panel,.routines-list-panel{padding:18px}.routine-form-grid,.routine-reminder-grid,.routine-voice-grid{grid-template-columns:1fr}.routine-field-wide,.routine-voice-grid .routine-field-wide{grid-column:auto}.routine-card{grid-template-columns:64px minmax(0,1fr);gap:12px}.routine-card-title-row{flex-direction:column;gap:8px}.routine-priority{align-self:flex-start}}.routine-days{flex-wrap:nowrap;gap:6px}.routine-day{width:40px;min-width:40px;height:40px}@media (width<=420px){.routine-card{grid-template-columns:1fr}.routine-card-time{justify-content:start;min-height:46px;padding:0 14px}.routine-card-bottom{flex-direction:column;align-items:stretch}.routine-edit-button{width:100%}}.alerts-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin:30px 0 20px;display:flex}.alerts-heading h1{margin:4px 0 8px}.alerts-eyebrow{color:var(--nora-turquoise);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.alerts-intro{color:var(--nora-muted);margin:0}.alerts-refresh{flex-shrink:0}.alerts-message{border-radius:var(--radius-md);margin-bottom:18px;padding:14px 16px}.alerts-message-error{color:var(--nora-danger);background:#b947470f;border:1px solid #b947473d}.alerts-summary{box-shadow:none;background:0 0;border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0;display:grid}.alert-summary-card{border:1px solid var(--nora-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#fff;padding:18px}.alert-summary-card span{color:var(--nora-muted);font-size:.86rem;font-weight:600;display:block}.alert-summary-card strong{color:var(--nora-blue-dark);margin-top:8px;font-size:2rem;line-height:1;display:block}.alert-summary-open strong{color:var(--nora-danger)}.alert-summary-ack strong{color:var(--nora-warning)}.alert-summary-closed strong{color:var(--nora-success)}.alerts-panel{margin-top:18px;padding:22px}.alerts-toolbar{margin-bottom:20px}.alerts-filters{flex-wrap:wrap;gap:8px;display:flex}.alert-filter{border:1px solid var(--nora-border);color:var(--nora-muted);background:#fff;align-items:center;gap:8px;padding:9px 12px;display:inline-flex}.alert-filter:hover:not(:disabled){color:var(--nora-blue-dark);background:#246b8e0f}.alert-filter.active{color:var(--nora-blue-dark);background:#24a7a51c;border-color:#24a7a552}.alert-filter span{background:#edf3f5;border-radius:999px;place-items:center;min-width:22px;height:22px;font-size:.72rem;font-weight:800;display:grid}.alert-filter.active span{background:#fff}.alerts-list{flex-direction:column;gap:12px;display:flex}.alert-card{box-shadow:none;border-left-width:5px;padding:18px}.alert-card-important{border-left-color:var(--nora-danger)}.alert-card-attention{border-left-color:var(--nora-warning)}.alert-card-info{border-left-color:var(--nora-blue)}.alert-card-header{justify-content:space-between;gap:18px;display:flex}.alert-card-header h2{margin:9px 0 0;font-size:1.05rem}.alert-card-header time{color:var(--nora-muted);white-space:nowrap;font-size:.8rem}.alert-card-labels{flex-wrap:wrap;gap:6px;display:flex}.alert-status-pill,.alert-severity-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:800}.status-open{color:var(--nora-danger);background:#b9474717}.status-acknowledged{color:var(--nora-warning);background:#b47a201c}.status-closed{color:var(--nora-success);background:#468a3d1a}.severity-important{color:var(--nora-danger);background:#b9474717}.severity-attention{color:var(--nora-warning);background:#b47a201c}.severity-info{color:var(--nora-blue);background:#246b8e17}.alert-card-message{color:var(--nora-muted);margin:14px 0}.alert-card-history{border-top:1px solid var(--nora-border);color:var(--nora-muted);flex-wrap:wrap;gap:12px 22px;padding-top:12px;font-size:.8rem;display:flex}.alert-card-actions{justify-content:flex-end;margin-top:16px;display:flex}.alert-resolved{color:var(--nora-success);font-weight:700}.alerts-empty{text-align:center;border:1px dashed var(--nora-border);color:var(--nora-muted);border-radius:14px;padding:38px 20px}.alerts-empty-icon{width:46px;height:46px;color:var(--nora-success);background:#468a3d1a;border-radius:50%;place-items:center;margin:0 auto 12px;font-size:1.4rem;font-weight:900;display:grid}.alerts-empty p{margin-bottom:0}@media (width<=800px){.alerts-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.alerts-heading{flex-direction:column;align-items:stretch}.alerts-refresh{width:100%}.alerts-panel{padding:16px}.alert-card-header{flex-direction:column;gap:8px}.alert-card-header time{white-space:normal}.alert-card-actions button{width:100%}}@media (width<=400px){.alerts-summary{grid-template-columns:1fr 1fr}.alert-summary-card{padding:14px}.alert-summary-card strong{font-size:1.7rem}}@media (width<=650px){.alerts-refresh{align-self:flex-start;width:100%;max-width:220px}.alerts-toolbar{margin-bottom:24px}}.settings-loading{text-align:center;color:var(--nora-muted);margin-top:40px;padding:32px}.settings-heading{margin:30px 0 20px}.settings-heading h1{margin:4px 0 8px}.settings-eyebrow{color:var(--nora-turquoise);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.settings-intro{color:var(--nora-muted);margin:0}.settings-message{border-radius:var(--radius-md);margin-bottom:18px;padding:14px 16px}.settings-message-error{color:var(--nora-danger);background:#b947470f;border:1px solid #b947473d}.settings-message-success{color:var(--nora-success);background:#468a3d12;border:1px solid #468a3d3d}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.settings-card{min-width:0;padding:22px}.settings-card-header{align-items:center;gap:13px;margin-bottom:20px;display:flex}.settings-card-header h2{margin:3px 0 0}.settings-card-kicker{color:var(--nora-muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.settings-card-icon{width:44px;height:44px;color:var(--nora-blue-dark);background:#246b8e14;border-radius:13px;flex-shrink:0;place-items:center;font-weight:900;display:grid}.settings-system-icon{color:var(--nora-turquoise);background:linear-gradient(135deg,#246b8e24,#24a7a524)}.settings-fields{flex-direction:column;gap:14px;display:flex}.settings-field{flex-direction:column;gap:7px;font-size:.88rem;display:flex}.settings-readonly-row{background:#f7fafb;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:13px 14px;display:flex}.settings-readonly-row span{color:var(--nora-muted);font-size:.83rem}.settings-readonly-row strong{color:var(--nora-blue-dark)}.settings-installation{grid-column:1/-1}.installation-data{flex-direction:column;gap:18px;display:flex}.installation-status-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.installation-status-row>div,.installation-code,.installation-times>div{border:1px solid var(--nora-border);background:#fafcfd;border-radius:12px;padding:14px 16px}.settings-data-label{color:var(--nora-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.75rem;font-weight:700;display:block}.installation-status{align-items:center;gap:8px;font-weight:800;display:inline-flex}.installation-dot{background:currentColor;border-radius:50%;width:9px;height:9px}.installation-online{color:var(--nora-success)}.installation-offline{color:var(--nora-danger)}.installation-code strong{color:var(--nora-blue-dark);font-size:1.05rem}.installation-times{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.installation-times strong{font-size:.9rem;display:block}.installation-note{color:var(--nora-muted);background:#24a7a50f;border-radius:11px;margin:0;padding:12px 14px;font-size:.82rem}.settings-empty{color:var(--nora-muted)}.settings-actions{justify-content:flex-end;margin-top:20px;display:flex}.settings-actions button{min-width:180px;padding:12px 18px}@media (width<=800px){.settings-grid{grid-template-columns:1fr}.settings-installation{grid-column:auto}.installation-times{grid-template-columns:1fr}}@media (width<=520px){.settings-card{padding:18px}.installation-status-row{grid-template-columns:1fr}.settings-readonly-row{flex-direction:column;align-items:flex-start}.settings-actions button{width:100%}}.add-installation-heading{width:calc(100% - 48px);max-width:1180px;margin:0 auto 24px}.add-installation-eyebrow{color:#26889a;text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px;font-size:.78rem;font-weight:700}.add-installation-heading h1{color:#173f59;margin:0;font-size:2rem}.add-installation-intro{color:#60798a;max-width:620px;margin:8px 0 0;line-height:1.6}.add-installation-panel{box-sizing:border-box;background:#fff;border:1px solid #dce8ed;border-radius:22px;width:calc(100% - 48px);max-width:760px;margin:0 auto 48px;padding:28px;box-shadow:0 10px 30px #14435a12}.add-installation-step{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.add-installation-step-number{color:#12677b;background:#e3f3f4;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-weight:800;display:flex}.add-installation-step h2{color:#24475d;margin:2px 0 5px;font-size:1rem}.add-installation-step p{color:#69808f;margin:0;font-size:.9rem;line-height:1.5}.add-installation-form{border-top:1px solid #e4ecef;flex-direction:column;align-items:flex-start;margin-top:28px;padding-top:26px;display:flex}.add-installation-scan-button{color:#246b8e;width:220px;min-height:48px;font:inherit;cursor:pointer;background:#f3fafb;border:1px solid #b9d5df;border-radius:12px;font-weight:700;transition:background .2s,border-color .2s}.add-installation-scan-button:hover{background:#eaf5f7;border-color:#9fc7d3}.add-installation-divider{color:#7a919f;width:220px;margin:14px 0 12px;font-size:.82rem;font-weight:500}.add-installation-field{color:#35566a;flex-direction:column;gap:8px;width:220px;font-size:.86rem;font-weight:600;display:flex}.add-installation-field input{box-sizing:border-box;color:#173f59;width:100%;height:50px;font:inherit;letter-spacing:.04em;text-transform:uppercase;background:#fff;border:1px solid #cedfe6;border-radius:12px;padding:0 14px;font-size:1rem}.add-installation-field input:focus{border-color:#26889a;outline:3px solid #26889a24}.add-installation-button{color:#fff;width:220px;min-height:48px;font:inherit;cursor:pointer;background:#246b8e;border:0;border-radius:12px;margin-top:16px;font-weight:700}.add-installation-button:hover:not(:disabled){filter:brightness(.96)}.add-installation-button:disabled{opacity:.5;cursor:not-allowed}.add-installation-message{border-radius:14px;flex-direction:column;gap:5px;margin-top:22px;padding:16px;font-size:.9rem;display:flex}.add-installation-error{color:#8c3434;background:#fff2f2;border:1px solid #f1cccc}.add-installation-success{color:#285f3e;background:#edf8f1;border:1px solid #c8e6d1;flex-direction:row;align-items:flex-start;gap:14px}.add-installation-success p{margin:4px 0}.add-installation-success small{margin-top:6px;font-weight:700;display:block}.add-installation-success-icon{background:#d1edda;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;font-weight:800;display:flex}.add-installation-warning{color:#765d20;background:#fff8e8;border:1px solid #eedba8;border-radius:12px;margin-bottom:24px;padding:14px 16px}.add-installation-security{background:#f6fafb;border-radius:14px;margin-top:26px;padding:18px}.add-installation-security strong{color:#35566a}.add-installation-security p{color:#6d8290;margin:6px 0 0;font-size:.84rem;line-height:1.55}.add-installation-footer{text-align:center;margin-top:22px}.add-installation-footer a{color:#246b8e;font-weight:600;text-decoration:none}.add-installation-footer a:hover{text-decoration:underline}.qr-scanner-overlay{z-index:2000;background:#0a2332a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.qr-scanner-modal{box-sizing:border-box;background:#fff;border-radius:20px;width:100%;max-width:460px;padding:20px;box-shadow:0 20px 60px #00000040}.qr-scanner-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.qr-scanner-header h2{color:#173f59;margin:2px 0 0;font-size:1.25rem}.qr-scanner-eyebrow{color:#26889a;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.72rem;font-weight:700}.qr-scanner-close{color:#35566a;cursor:pointer;background:#eef5f7;border:0;border-radius:50%;flex:none;width:38px;height:38px;font-size:1.4rem}.qr-scanner-reader{border-radius:14px;width:100%;overflow:hidden}.qr-scanner-help{color:#6d8290;text-align:center;margin:14px 0 0;font-size:.85rem}@media (width<=650px){.add-installation-heading{width:calc(100% - 24px)}.add-installation-heading h1{font-size:1.65rem}.add-installation-panel{border-radius:18px;width:calc(100% - 20px);padding:20px}.add-installation-scan-button,.add-installation-divider,.add-installation-field,.add-installation-button{width:100%}.qr-scanner-overlay{padding:12px}.qr-scanner-modal{border-radius:18px;padding:16px}}}
