:root{--bg:#f5f6f2;--ink:#1d302e;--muted:#75807b;--green:#145e50;--border:#e5e9e2;--white:#fff;--radius:18px;font-family:Inter,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;border:0;transition:background .15s,transform .15s}button:disabled{opacity:.5;cursor:wait}button:hover:not(:disabled){filter:brightness(.95)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #71b5a5;outline-offset:4px}h1,h2,p{margin-top:0}h1{font-size:clamp(30px,3.5vw,45px);line-height:1.13;letter-spacing:-1.6px;margin-bottom:15px;font-weight:650}h2{font-size:19px;letter-spacing:-.4px;margin-bottom:6px}p{line-height:1.6}.muted{color:var(--muted)}.small{font-size:13px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:700;margin-bottom:16px}.primary,.secondary{border-radius:9px;padding:12px 18px;font-size:13px;font-weight:600}.primary{background:var(--green);color:white}.secondary{background:#eef2ed;color:var(--ink);border:1px solid var(--border)}.text-button{background:none;padding:10px;font-size:13px}.danger{color:#a44c46}.brand-icon{width:39px;height:39px;background:#397b69;display:grid;place-items:center;border-radius:12px;color:white;font-weight:750;font-size:22px;flex-shrink:0}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:#173c33;color:#e8eeea;padding:32px 24px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-size:19px;font-weight:650}.brand-sub{display:block;font-size:8px;letter-spacing:1.6px;color:#9fb8ac;margin-top:6px}.sidebar nav{display:grid;gap:8px;margin-top:54px}.sidebar nav a{display:flex;gap:14px;align-items:center;padding:13px 16px;font-size:18px;color:#a8c1b5;border-radius:10px}.sidebar nav a span{font-size:13px}.sidebar nav .nav-current{background:#2a5147;color:white}.sidebar-bottom{margin-top:auto;font-size:11px;color:#a8c1b5;line-height:1.8}.sidebar-bottom p{margin:4px 0 22px 14px;font-size:10px;color:#789b8d}.sidebar-button{background:transparent;border-top:1px solid #34554a;text-align:left;color:#b7c9c0;font-size:12px;width:100%;padding:19px 0 0}.connection-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#73b68c;margin-right:7px}main{margin-left:236px;padding:0 48px 28px;max-width:1700px}.topbar{display:flex;align-items:center;justify-content:space-between;height:76px;border-bottom:1px solid var(--border);font-size:12px}.timezone{font-size:11px;color:var(--muted)}.page-title{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:36px 0 22px}.page-title p:last-child{font-size:14px;margin-bottom:0}.notice{background:#edf2e7;border:1px solid #dce5d3;border-radius:12px;display:flex;align-items:center;gap:15px;padding:18px 21px;margin-bottom:22px}.notice-icon{font-size:24px;color:#698251}.notice strong{font-size:13px;font-weight:650}.notice p{font-size:12px;color:#6c7b61;margin:5px 0 0}.badge{display:inline-flex;align-items:center;border:1px solid #d5dfcd;background:#e6eddc;color:#697c4f;white-space:nowrap;font-size:9px;letter-spacing:1px;font-weight:650;border-radius:6px;padding:6px 9px}.notice .badge{margin-left:auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}.stats article{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:12px}.stats article>span:first-child{font-size:10px;letter-spacing:1px}.stats strong{font-size:31px;font-weight:600;letter-spacing:-1px}.stats .stat-date{font-size:23px;line-height:38px}.stats .stat-status{font-size:22px;line-height:38px;letter-spacing:-.5px}.panel{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:22px;scroll-margin-top:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.section-heading p{margin-bottom:0}.count{font-size:11px;color:var(--muted);background:var(--bg);padding:7px 10px;border-radius:7px}.empty{text-align:center;color:var(--muted);padding:28px 15px;font-size:13px;border:1px dashed var(--border);border-radius:12px}.empty .empty-icon{display:block;color:#a6bbb0;font-size:26px;margin-bottom:12px}.empty p{margin:0 0 15px}.rule-row{display:flex;align-items:center;gap:15px;padding:18px 0;border-top:1px solid var(--border)}.rule-icon{background:#edf4ed;color:var(--green);width:43px;height:43px;display:grid;place-items:center;font-size:20px;border-radius:11px;flex-shrink:0}.rule-info{flex:1;min-width:0}.rule-info strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}.rule-info p{font-size:12px;color:var(--muted);margin:5px 0 0;overflow-wrap:anywhere}.rule-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.rule-actions button{font-size:11px;padding:8px 10px}.toggle{background:#e8f1e8;color:#47704e;border-radius:6px}.toggle.off{background:#f0f0ec;color:#8c9189}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:22px}.schedule-row,.history-row{display:flex;align-items:flex-start;gap:13px;border-top:1px solid var(--border);padding:16px 0}.date-tile{background:#f0f3eb;padding:9px;border-radius:10px;text-align:center;min-width:47px;font-size:17px;font-weight:650}.date-tile span{display:block;font-size:9px;text-transform:uppercase;font-weight:500;margin-top:3px;color:var(--muted)}.schedule-row strong,.history-row strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.schedule-row p,.history-row p{font-size:11px;color:var(--muted);margin:4px 0 0;overflow-wrap:anywhere}.schedule-row small{display:block;margin-top:8px;font-size:10px;color:#8a948a}.history-mark{border-radius:50%;width:25px;height:25px;display:grid;place-items:center;flex-shrink:0;background:#e9f2e8;color:#538061;font-size:12px}.history-mark.failure{background:#f7eeea;color:#ba785a}.credentials-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:750px}label{display:block;font-size:12px;font-weight:600;margin-bottom:16px}input:not([type=checkbox]),select{display:block;width:100%;background:#fcfcfa;border:1px solid #dce3da;border-radius:8px;padding:11px 12px;margin-top:7px;color:var(--ink);font-size:13px;min-height:42px}input::placeholder{color:#9ca59a}input:focus,select:focus{outline:2px solid #88b3a3;outline-offset:1px}.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:5px}.form-actions+p{margin:16px 0 0}footer{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#929d93;margin-top:32px;padding:0 2px}.feedback{padding:13px 16px;background:#e6eee4;border-radius:9px;margin:0 0 20px;font-size:13px}.feedback.error{background:#faeeea;color:#a44c46}.error{font-size:12px;color:#a44c46;min-height:0}.error:empty{display:none}dialog{max-width:530px;width:calc(100% - 32px);border:1px solid var(--border);border-radius:20px;padding:28px;color:var(--ink);box-shadow:0 20px 100px #173c3340}dialog::backdrop{background:#173c3375;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dialog-heading .eyebrow{margin-bottom:8px}.icon-button{font-size:25px;background:#f0f3ed;color:var(--muted);border-radius:50%;width:34px;height:34px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.checkbox-label{display:flex;gap:8px;align-items:center;font-weight:500;margin-top:22px}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px}details{border-top:1px solid var(--border);padding-top:14px}summary{font-size:12px;cursor:pointer;color:var(--muted);margin-bottom:15px}.login-page{display:grid;place-items:center;min-height:100dvh;padding:25px;background:radial-gradient(ellipse at 20% 10%,#dfe9da,transparent 60%),var(--bg)}.login-card{margin:0;max-width:430px;width:100%;background:white;border:1px solid var(--border);border-radius:24px;padding:38px}.login-card .brand-icon{margin-bottom:27px}.login-card h1{font-size:30px;letter-spacing:-1px}.login-card>.muted{font-size:14px}.login-card form{margin-top:27px}.login-card button{width:100%;display:flex;justify-content:space-between}.login-card>p:last-child{margin:23px 0 0;font-size:11px}
@media(min-width:1500px){main{padding-left:70px;padding-right:70px}}@media(max-width:1100px){.sidebar{width:200px;padding:28px 18px}main{margin-left:200px;padding-left:28px;padding-right:28px}.rule-row{align-items:flex-start;flex-wrap:wrap}.rule-actions{margin-left:58px}.stats strong.stat-date{font-size:19px}.notice .badge{display:none}.two-column{gap:16px}.panel{padding:20px}}
@media(max-width:760px){.sidebar{position:relative;width:100%;height:auto;padding:16px 20px}.brand{font-size:17px}.brand-icon{width:33px;height:33px;font-size:19px}.brand-sub{font-size:7px}.sidebar nav{display:flex;gap:8px;margin-top:16px;justify-content:space-between}.sidebar nav a{font-size:15px;padding:8px;gap:5px}.sidebar nav a span{font-size:10px}.sidebar-bottom{display:none}main{margin:0;padding:0 18px 24px}.topbar{height:48px;font-size:10px}.timezone{font-size:9px}.page-title{padding:26px 0 22px;display:block}.page-title .primary{margin-top:20px}.page-title h1{font-size:35px}.page-title .eyebrow{margin-bottom:10px}.notice{padding:14px;gap:10px}.notice p{font-size:11px}.stats{gap:9px;margin-bottom:20px}.stats article{padding:14px 10px;border-radius:13px;gap:8px}.stats article>span:first-child{font-size:8px;letter-spacing:.5px}.stats strong{font-size:27px}.stats strong.stat-date{font-size:14px;line-height:29px;letter-spacing:-.5px}.stats strong.stat-status{font-size:14px;line-height:29px;letter-spacing:0}.stats article>span:last-child{font-size:10px}.two-column{display:block}.credentials-fields{grid-template-columns:1fr;gap:0}.panel{padding:18px;margin-bottom:16px}.section-heading h2{font-size:17px}.section-heading p{font-size:11px}.rule-actions{margin-left:0;width:100%}.rule-row{gap:11px}.rule-info{min-width:190px}.rule-actions .secondary{flex:1}footer{display:block;font-size:9px}footer span{display:block;margin-top:5px}.login-card{padding:28px}dialog{padding:22px}}

@media(max-width:760px){.sidebar-bottom{display:block;margin:0;position:absolute;right:20px;top:24px;font-size:0}.sidebar-bottom .connection-dot,.sidebar-bottom p{display:none}.sidebar-button{border:0;padding:0;width:auto;font-size:11px}}

/* Shared calendar identity for the sidebar, login, and browser icon. */
.brand-icon{width:44px;height:44px;background:#f5f6f0;padding:4px;border-radius:12px}.brand-icon img{display:block;width:100%;height:100%;object-fit:contain}.brand{font-size:18px;gap:10px}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:28px}.login-card .login-brand .brand-icon{width:64px;height:64px;margin-bottom:0;padding:5px;border-radius:16px}.login-brand-name{font-size:25px;font-weight:700;letter-spacing:-.7px;color:var(--green)}
@media(max-width:760px){.brand-icon{width:38px;height:38px}.brand{font-size:17px}.brand-sub{letter-spacing:1.2px}.login-brand-name{font-size:23px}}

[hidden]{display:none!important}.topbar-tools{display:flex;align-items:center;gap:14px}.pwa-install{font-size:11px;padding:8px 12px}.login-card .pwa-install{margin-top:18px;justify-content:center}.pwa-install:disabled{cursor:wait}#pwa-dialog p{font-size:13px;line-height:1.6}@media(max-width:760px){.topbar-tools{gap:8px}.topbar-tools .pwa-install{font-size:10px;padding:7px 9px}}
.history-row>div{min-width:0;flex:1}.history-mark{flex-shrink:0}
.rule-info .enrollment-warning{color:#a44c46}.rule-info details{font-size:13px;margin:10px 0}.rule-info summary{cursor:pointer;color:var(--green)}.rule-info details p{margin:8px 0;overflow-wrap:anywhere}
/* Dashboard layout and readable controls on narrow screens. */
:root{--muted:#61716a}
.page-title{padding:26px 0 20px}.page-title h1{font-size:32px;letter-spacing:-1px;margin-bottom:10px}
.notice strong{font-size:15px}.notice p{font-size:13px}.notice-attention{background:#fff6e6;border-color:#ebdbb9}.notice-attention .notice-icon{color:#94691b}.notice .badge{font-size:12px;letter-spacing:0;display:inline-flex}
.connection-dot.inactive{background:#b06e3e}
.overview-filter{display:flex;align-items:center;gap:24px;margin:0 0 22px}.overview-filter label{min-width:220px;margin:0}.overview-filter p{margin:0;max-width:520px}
.search-field{max-width:480px;margin-bottom:20px}.search-field input{background:#f5f7f3}
.rule-row{align-items:flex-start;padding:20px 0}.rule-info strong{font-size:16px}.rule-info p{font-size:13px;line-height:1.6}.rule-info small{display:block;margin-top:7px;font-size:12px;color:var(--green)}
.rule-actions{max-width:280px;justify-content:flex-end}.rule-actions button{font-size:13px;min-height:40px;padding:10px 12px}.rule-actions .primary{order:-1}.rule-actions .toggle{order:-1}
.schedule-row strong,.history-row strong{font-size:15px;line-height:1.5}.schedule-row p,.history-row p{font-size:13px;line-height:1.6}.schedule-row small{font-size:12px;color:var(--muted)}.history-mark{width:32px;height:32px;font-size:15px}.history-mark.failure{background:#f8e9e6;color:#a34239}.history-mark.waiting{background:#fff1d4;color:#97681c}.date-tile span{font-size:11px}
label,summary{font-size:13px}.badge,.count{font-size:12px;letter-spacing:0}.show-more{width:100%;margin-top:8px}.panel>p:last-child{margin-bottom:0}#profile-form-title{border-top:1px solid var(--border);padding-top:24px;font-size:17px}footer{font-size:12px;color:var(--muted)}
@media(max-width:1100px){.rule-actions{margin-left:0;max-width:none;width:100%;justify-content:flex-start}.two-column{grid-template-columns:1fr}.notice .badge{display:inline-flex}}
@media(max-width:760px){
 main{padding:0 14px 24px}.sidebar{padding:16px 14px}.sidebar nav{overflow-x:auto;justify-content:flex-start;gap:5px;padding-bottom:3px}.sidebar nav a{flex-shrink:0;min-height:44px;padding:10px 12px}.sidebar nav a span{font-size:12px}.sidebar-bottom{right:16px}.sidebar-button{font-size:13px;min-height:44px;padding:8px}
 .page-title h1{font-size:30px}.page-title .primary{margin-top:16px;width:100%;min-height:44px}.page-title .eyebrow{margin-bottom:10px}
 .stats{grid-template-columns:1fr 1fr;gap:12px}.stats article{padding:16px;gap:9px}.stats article:nth-child(2){grid-column:1/-1;grid-row:1}.stats article>span:first-child{font-size:10px}.stats article>span:last-child{font-size:12px}.stats strong.stat-date{font-size:24px}.stats strong.stat-status{font-size:20px}
 .overview-filter{display:block}.overview-filter label{min-width:0}.overview-filter p{margin-top:10px}.notice{flex-wrap:wrap}.notice>div{flex:1;min-width:0}.notice .badge{margin-left:34px}
 .panel{padding:16px}.section-heading{align-items:flex-start}.section-heading p{font-size:13px}.rule-info{min-width:0;flex-basis:calc(100% - 58px)}.rule-actions{gap:8px}.rule-actions button{min-height:44px}.rule-actions .secondary{flex:initial}.rule-actions .primary{flex:1}.rule-actions .text-button{padding:10px 12px}
 .form-grid{grid-template-columns:1fr}.primary,.secondary,.text-button{min-height:44px}.icon-button{width:44px;height:44px}.topbar-tools .pwa-install{font-size:12px;min-height:40px}.timezone{display:none}.login-card{padding:24px}.login-card>p:last-child{font-size:12px}
}
#retries-list>.empty{padding:14px;border:0;background:#f7f8f5;text-align:left}#retries-list>.empty .empty-icon{display:none}#retries-list>.empty p{margin:0}
@media(max-width:760px){.notice>div{flex:1 1 calc(100% - 40px)}.notice .badge{margin-left:34px}.notice p{font-size:13px}}
.collapsible-panel{border:1px solid var(--border)}.collapsible-panel>summary{margin:0;color:var(--ink);min-height:44px;list-style:none}.collapsible-panel>summary::-webkit-details-marker{display:none}.collapsible-panel>summary>div{flex:1;min-width:0}.collapsible-panel>summary h2{font-size:19px}.collapsible-panel>summary p{font-size:13px}.collapsible-panel>summary .count{flex-shrink:0}.panel-chevron{font-size:24px;color:var(--green);transition:transform .15s}.collapsible-panel[open]>.section-heading{margin-bottom:20px}.collapsible-panel[open] .panel-chevron{transform:rotate(180deg)}
@media(max-width:760px){.collapsible-panel>summary h2{font-size:17px}.collapsible-panel>summary{gap:10px}.collapsible-panel>summary .count{font-size:11px;padding:6px}.panel-chevron{font-size:20px}}
.rule-order-controls{display:grid;grid-template-columns:1fr 1fr;gap:2px;flex-shrink:0;width:50px}.drag-handle{grid-column:1/-1;background:#eef3ed;color:var(--green);border-radius:7px;font-size:23px;min-height:36px;cursor:grab}.drag-handle:active{cursor:grabbing}.order-arrow{background:transparent;color:var(--green);border-radius:6px;font-size:18px;min-height:32px}.rule-row.dragging{opacity:.5}.rule-row.drop-target{box-shadow:inset 0 3px var(--green);background:#f1f6ef}.rule-order-help{margin-top:0}.rule-order-controls button:disabled{cursor:default}
@media(max-width:760px){.rule-order-controls{width:88px}.drag-handle,.order-arrow{min-height:44px}.rule-order-controls+.rule-info{flex-basis:calc(100% - 100px)}}

.two-column{align-items:start}

.activity-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.activity-tools a{display:inline-flex;align-items:center;justify-content:center}.activity-tools .secondary{min-height:44px}
.session-state{padding:14px 16px;margin:0 0 12px;border:1px solid var(--border);border-radius:12px;background:#f2f6f0}.session-state p{margin:6px 0 0;font-size:13px;line-height:1.6}.session-blocked{background:#fff1df;border-color:#dfc69f}.rule-info .rule-schedule{margin-top:10px;padding:9px 12px;background:#f2f6f0;border-radius:8px}#run-report>summary{align-items:center}#run-summary{max-width:780px}
.panel.report-attention{border-color:#dfc69f}.report-attention #run-summary{color:#805c24}
.rule-info .rule-schedule.needs-attention{background:#fff1df;color:#805c24}.rule-info .rule-schedule.is-manual{background:#f5f5f3;color:var(--muted)}
