@font-face{font-family:UPG;src:local('Segoe UI')}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#f5f3ed;color:#24352d;font-family:UPG,'Segoe UI',system-ui,sans-serif;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button,a{touch-action:manipulation}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #7298ba;outline-offset:3px}input,select,textarea{width:100%;border:1px solid #d4d8ce;background:#fffefa;color:#24352d;padding:12px 14px;border-radius:10px;outline:none}input:focus,select:focus,textarea:focus{border-color:#506c58;box-shadow:0 0 0 3px #506c5819}input[type=checkbox]{width:18px;height:18px;accent-color:#35543d;margin:0}input[type=month],input[type=date]{width:auto}textarea{resize:vertical;min-height:90px}label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px}h1,h2,h3,p{margin:0}h1{font-size:clamp(30px,4vw,44px);font-weight:650;letter-spacing:-1.8px;line-height:1.18}h2{font-size:21px;letter-spacing:-.5px}h3{font-size:16px;font-weight:650}.muted{color:#738075}.tiny{font-size:12px}.eyebrow{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;color:#7c877c}.mono,.number{font-variant-numeric:tabular-nums}.number{font-weight:600;letter-spacing:-1.6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d5dbd1;border-radius:10px;background:#fffefa;padding:11px 17px;color:#33483a;font-weight:600;text-decoration:none;min-height:44px}.btn.primary{color:#fffef9;background:#304d3b;border-color:#304d3b}.btn.primary:hover{background:#233c2d}.btn.soft{background:#e9ede4;border-color:transparent}.btn.ghost{background:transparent;border-color:transparent}.btn.small{padding:7px 12px;font-size:13px;min-height:36px}.btn.danger{color:#a43831}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.gap{height:22px}.panel{border:1px solid #dedfd5;background:#fffefa;border-radius:17px;padding:24px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:5px 10px;font-size:11px;font-weight:650;white-space:nowrap;background:#e9eee5;color:#42604a}.badge:before{content:'';width:6px;height:6px;background:currentColor;border-radius:50%}.badge.blue{background:#e9f0fa;color:#37628d}.badge.orange{background:#fff0d5;color:#9a6a20}.badge.red{background:#fceae5;color:#ac4d40}.badge.gray{background:#eeeee7;color:#758174}.textbutton{border:0;background:none;padding:0;color:#42604a;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.errorbox,.notice{padding:13px 16px;border-radius:10px;font-size:13px;background:#fceee8;color:#9c473a;margin:14px 0}.notice{background:#edf1e7;color:#4e6552}.notice.blue{background:#e9eff8;color:#426384}.notice.orange{background:#fff2dd;color:#8c682b}.checklabel{display:flex;align-items:center;gap:10px;font-weight:400;cursor:pointer}.empty{padding:36px;text-align:center;color:#7a8578}.boot{margin:20vh auto;text-align:center;font-weight:700;font-size:40px}.boot span{display:block;font-size:18px;font-weight:400}.boot p{font-size:14px;font-weight:400;color:#7b857c;margin:20px}.login{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:#273e30;color:#f4f0df;padding:8vw 7vw;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.wordmark{font-size:25px;font-weight:800;letter-spacing:-1px;display:flex;gap:14px;align-items:center}.wordmark span{font-size:10px;letter-spacing:2.8px;font-weight:500;border-left:1px solid #ffffff38;padding-left:14px;line-height:1.8}.login-brand h1{font-size:clamp(40px,4.4vw,70px);font-weight:500;max-width:500px;letter-spacing:-2.5px}.login-brand p{color:#bdcbbb;margin-top:20px;font-size:16px;max-width:350px}.brand-rings{position:absolute;width:540px;height:540px;border:1px solid #ffffff10;border-radius:50%;right:-300px;bottom:70px;box-shadow:0 0 0 50px #ffffff04,0 0 0 100px #ffffff03,0 0 0 150px #ffffff02}.login-form{display:flex;align-items:center;justify-content:center;padding:35px}.login-form>div{width:min(100%,360px)}.login-form h2{font-size:29px;margin:12px 0 5px}.login-form p{font-size:14px;color:#7b8579}.login-form .btn{width:100%;margin-top:24px}.login-foot{margin-top:35px!important;font-size:12px!important}.layout{display:grid;grid-template-columns:222px 1fr;min-height:100dvh}.sidebar{background:#eaece2;border-right:1px solid #daddd1;position:fixed;inset:0 auto 0 0;width:222px;padding:32px 20px;display:flex;flex-direction:column;z-index:30}.sidebar .wordmark{font-size:28px;margin-left:10px}.sidebar .wordmark span{font-size:9px;color:#6d7d6e;border-color:#cad0c4;letter-spacing:2px}.nav{display:flex;flex-direction:column;gap:7px;margin-top:44px}.nav a{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:14px;color:#677768;border-radius:10px;padding:13px 15px;white-space:nowrap}.nav a svg{width:21px;height:21px;stroke-width:1.7}.nav a.active{background:#304d3b;color:#fff9e9;box-shadow:0 3px 8px #243d2514}.nav a:hover:not(.active){background:#dfe5d8}.sidebar-foot{margin-top:auto;padding:20px 10px 0;border-top:1px solid #d4dacc;font-size:11px;color:#7d8a79}.workspace{grid-column:2;min-width:0}.topbar{height:82px;padding:0 42px;border-bottom:1px solid #e1e3d8;display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar-title{font-size:13px;color:#778374}.top-actions{display:flex;align-items:center;gap:17px}.queue-button{display:flex;align-items:center;gap:8px;border:1px solid #d6ddcf;border-radius:9px;background:transparent;color:#4b6050;font-size:12px;padding:8px 11px;min-height:38px}.counter{background:#30513c;color:#fff;border-radius:5px;min-width:19px;padding:1px 4px;font-size:10px}.avatar{width:30px;height:30px;display:grid;place-items:center;border:1px solid #c8d0c0;border-radius:50%;font-size:12px;background:#dce3d2;font-weight:700}.user{font-size:12px;gap:8px}.main{max-width:1330px;padding:36px 42px 60px;margin:auto}.page-head{margin-bottom:25px}.page-head>p{margin-top:11px;color:#748171;font-size:14px}.datepill{background:#e9ece2;border:1px solid #dce1d2;border-radius:10px;padding:8px 12px;font-size:12px;white-space:nowrap}.datepill b{font-weight:650}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:30px}.stat{padding:18px 22px;border:1px solid #dedfd3;border-radius:13px;background:#f9f8f2}.stat .number{font-size:30px}.stat small{display:block;font-size:11px;color:#7d8779;margin-top:4px}.stat-heading{font-size:11px;color:#71816f;margin-bottom:8px}.stat-heading svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px}.section-head{margin:22px 0 16px;display:flex;justify-content:space-between;align-items:center}.section-head h2{font-size:17px}.section-head small{font-size:11px;color:#85907f}.site-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.site-card{padding:21px;text-align:left;min-width:0;display:block;width:100%;border:1px solid #daddd1;background:#fffefa;border-radius:15px;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}.site-card:hover{transform:translateY(-3px);box-shadow:0 6px 22px #2e49220c;border-color:#aebba8}.site-title{font-size:19px;letter-spacing:-.5px;font-weight:600}.site-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.site-id{font-size:10px;color:#7d8c76;padding:3px 7px;border:1px solid #e4e6da;border-radius:5px;letter-spacing:.6px}.unit{font-size:12px;font-weight:400;color:#8b9684;margin-left:4px;letter-spacing:0}.site-bottom{border-top:1px solid #eceee3;margin-top:20px;padding-top:14px;display:flex;justify-content:space-between;align-items:center}.site-bottom .arrow{font-size:19px;font-weight:400;color:#7b8d73}.section-note{font-size:12px;color:#89937f;margin-top:18px}.back{display:inline-flex;gap:8px;align-items:center;color:#788473;background:none;border:0;padding:0;margin:0 0 20px;font-size:13px}.detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:start}.detail-stack{display:grid;gap:16px}.metric-card{position:relative}.metric-label{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#7c8975;margin-bottom:4px}.metric-card .big{font-size:46px;line-height:1.2;margin-top:17px;margin-bottom:8px;letter-spacing:-2px;font-weight:550}.metric-card .big .unit{font-size:16px}.metric-date{font-size:12px;color:#7d8975}.metric-card p{font-size:12px;color:#83907b}.today-head{display:flex;justify-content:space-between;align-items:start;gap:8px}.tomorrow-card{border-top:3px solid #c4a567}.tomorrow-card.accepted{border-top-color:#6b956b}.tomorrow-card.queued{border-top-color:#6b96b9}.tomorrow-card.failed{border-top-color:#b77766}.volume-input{position:relative}.volume-input input{font-size:31px;letter-spacing:-1px;font-weight:500;padding:15px 53px 15px 16px;background:#fbfaf5}.volume-input span{position:absolute;right:17px;top:23px;color:#89947e;font-size:14px}.tomorrow-card .submit{width:100%;margin-top:17px;min-height:48px}.statusline{font-size:12px;margin-top:14px;line-height:1.5}.statusline.accepted{color:#527855}.statusline.queued{color:#4e7395}.statusline.failed{color:#a74c3c}.subtleline{border-top:1px solid #eceee3;margin-top:22px;padding-top:15px;font-size:12px;color:#7b8972}.correction{border-top:1px solid #e4e8db;margin-top:18px;padding-top:2px}.correction-actions{display:flex;gap:8px;margin-top:14px}.data-time{font-size:10px;color:#8f9887;margin-top:12px}.history{margin-top:28px}.history-head{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:18px}.tabs{display:flex;background:#e9ece1;border-radius:9px;padding:3px;gap:2px}.tabs button{border:0;border-radius:6px;padding:7px 13px;font-size:12px;background:transparent;color:#71816a}.tabs button.active{background:#fffefa;box-shadow:0 1px 4px #00000008;color:#35543b}.chart{width:100%;height:170px;display:block;margin:15px 0}.legend{display:flex;gap:18px;font-size:11px;color:#77856f}.legend span:before{content:'';display:inline-block;width:9px;height:9px;background:#658963;border-radius:2px;margin-right:6px}.legend span:first-child:before{background:#c9b990}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;font-weight:500;color:#8a9581;font-size:10px;letter-spacing:.5px;text-transform:uppercase;padding:12px 10px;border-bottom:1px solid #dce2d2}td{padding:11px 10px;border-bottom:1px solid #e9ecdf;font-variant-numeric:tabular-nums}td:not(:first-child),th:not(:first-child){text-align:right}tr.weekend{background:#f6f6ed}tr:last-child td{border-bottom:0}.data-source{font-size:10px;color:#8a9780}.queue-item{padding:20px;border:1px solid #dce0d2;border-radius:13px;background:#fffefa;margin-bottom:12px}.queue-item .value{font-size:25px;font-weight:600;margin-top:8px}.queue-item p{font-size:12px;color:#7b8972;margin-top:5px}.queue-actions{display:flex;gap:8px;margin-top:14px}.queue-item .errorbox{margin-bottom:0}.queue-summary{margin-bottom:22px}.admin-tabs{margin:25px 0}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-card{padding:21px}.grant-table td,.grant-table th{text-align:center!important}.grant-table td:first-child,.grant-table th:first-child{text-align:left!important}.grant-table input{width:18px}.admin-card select{margin:15px 0}.admin-card .actions{margin-top:19px}.soon{max-width:620px;margin:50px auto;padding:50px}.soon svg{width:45px;height:45px;stroke:#829477;margin-bottom:20px}.soon h2{font-size:29px;margin-bottom:13px}.soon p{color:#7a8972}.soon .eyebrow{margin-bottom:15px}.loading{padding:40px;color:#7c8b74;text-align:center}.offline-banner{padding:12px 16px;border:1px solid #ddd4b4;background:#f5efdb;color:#8c7439;font-size:12px;border-radius:10px;margin-bottom:22px}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.mobile-title{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#2b4735;color:#fffbee;border-radius:12px;box-shadow:0 8px 30px #0002;font-size:13px;max-width:90vw;padding:13px 20px;z-index:100;display:none}#toast.visible{display:block}.admin-note{margin-bottom:18px}.form-saved{font-size:12px;color:#48774d;min-height:20px;margin-top:10px}.queue-zero{font-size:40px;color:#739165;font-weight:300;line-height:1}.offline-mode{margin-top:24px;font-size:12px;color:#859179}.no-access{margin:30px auto;max-width:550px}.foot-note{margin-top:28px;font-size:10px;color:#9aa28f}.revision-box{font-size:12px;margin-top:12px;background:#f4f1e6;padding:12px;border-radius:9px}.hidden{display:none!important}
@media(min-width:1500px){.main{padding-top:46px}.site-grid{gap:20px}.site-card{padding:25px}.sidebar{width:242px}.layout{grid-template-columns:242px 1fr}}
@media(max-width:1130px){.site-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:30px 26px 50px}.topbar{padding:0 26px}.topbar-title{display:none}.topbar{justify-content:flex-end}.detail-grid{gap:16px}.panel{padding:20px}}
@media(max-width:800px){.sidebar{width:176px;padding:27px 13px}.layout{grid-template-columns:176px 1fr}.sidebar .wordmark{font-size:24px}.wordmark span{font-size:8px!important;letter-spacing:1px!important;padding-left:9px!important}.nav a{padding:11px 10px;font-size:13px;gap:9px}.stats{gap:9px}.stat{padding:15px}.stat .number{font-size:25px}.site-card{padding:18px}.site-title{font-size:17px}.detail-grid,.admin-grid{grid-template-columns:1fr}.tomorrow-card{grid-row:1}.login-brand{padding:45px}.login-brand h1{font-size:43px}.top-actions{gap:12px}.user span.name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:600px), (pointer:coarse) and (orientation:portrait) and (max-width:1024px){body{font-size:14px;-webkit-text-size-adjust:100%;text-size-adjust:100%}.layout{display:block}.sidebar{inset:auto 0 0;width:100%;height:75px;padding:0;border-right:0;border-top:1px solid #d9dfce;background:#f8f8efef;backdrop-filter:blur(16px);padding-bottom:env(safe-area-inset-bottom);height:calc(70px + env(safe-area-inset-bottom))}.sidebar>.wordmark,.sidebar-foot{display:none}.nav{margin:0;flex-direction:row;width:100%;height:70px;gap:0;justify-content:space-around;padding:5px 9px}.nav a{flex:1;display:flex;flex-direction:column;gap:3px;padding:7px 5px;font-size:10px;border-radius:9px}.nav a svg{height:21px;width:21px}.nav a.active{background:#e4ebdc;color:#34543b;box-shadow:none}.workspace{display:block}.topbar{height:67px;padding:0 19px;background:#f5f3ed}.mobile-title{display:block;font-weight:800;font-size:21px;letter-spacing:-.8px;margin-right:auto}.top-actions{gap:10px}.user .name{display:none}.top-actions .badge{font-size:10px;padding:4px 7px}.queue-button{font-size:11px;padding:7px 9px;gap:5px}.queue-button svg{width:14px;height:14px}.main{padding:25px 18px 110px}.page-head{margin-bottom:22px}.page-head h1{font-size:32px;letter-spacing:-1.1px}.page-head .datepill{padding:7px 9px;font-size:10px}.page-head>p{font-size:12px;margin-top:9px}.stats{gap:8px;margin-bottom:25px}.stat{padding:13px 12px;border-radius:10px}.stat-heading{font-size:9px;white-space:nowrap;letter-spacing:0}.stat-heading svg{display:none}.stat .number{font-size:25px;letter-spacing:-1px}.stat small{font-size:9px;line-height:1.4}.site-grid{grid-template-columns:minmax(0,1fr);gap:12px}.site-card{padding:16px 13px;border-radius:12px}.site-top{margin-bottom:19px}.site-title{font-size:16px;letter-spacing:-.3px}.site-id{font-size:8px;padding:2px 4px}.site-bottom{margin-top:14px;padding-top:10px}.site-bottom .badge{font-size:8px;padding:4px 6px;gap:4px}.site-bottom .badge:before{width:4px;height:4px}.site-bottom .arrow{font-size:17px}.section-head small{font-size:10px}.section-head h2{font-size:16px}.section-note{font-size:10px}.panel{padding:20px;border-radius:13px}.metric-card .big{font-size:43px}.detail-grid{display:flex;flex-direction:column}.detail-stack{width:100%}.tomorrow-card{width:100%;order:1}.detail-stack{order:0}.history-head{align-items:start;flex-wrap:wrap}.history-head h2{font-size:18px}.history{margin-top:23px}.history .panel{padding:17px 13px}.history .chart{height:150px}.history-head input{font-size:12px;padding:8px}.login{display:flex;flex-direction:column}.login-brand{padding:32px 28px 37px;min-height:240px}.login-brand .wordmark{font-size:24px}.login-brand h1{font-size:34px;letter-spacing:-1px;margin-top:33px;max-width:300px}.login-brand p,.login-brand .tiny{display:none}.login-form{padding:35px 27px 50px;flex:1}.login-form h2{font-size:25px}.brand-rings{width:300px;height:300px;right:-170px;bottom:-130px}.soon{margin:20px 0;padding:30px}.soon h2{font-size:24px}.queue-item{padding:17px}.queue-item .between{align-items:start}.queue-item h3{font-size:14px}.queue-item .badge{font-size:9px}.admin-card{padding:17px}.grant-table td,.grant-table th{padding:11px 6px}.admin-grid{gap:14px}.admin-card .row{gap:9px}#toast{bottom:95px;width:max-content;max-width:calc(100vw - 30px);text-align:center}.foot-note{font-size:9px}.back{font-size:12px;margin-bottom:16px}}

.plan-fact-grid { display: grid; gap: 0; }
.plan-fact-head, .plan-fact-row {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) repeat(2, minmax(0, 1fr));
  gap: 8px;
  align-items: start;
}
.plan-fact-head { padding-bottom: 7px; color: #657760; font-size: 11px; }
.plan-fact-head > :not(:first-child), .plan-fact-row > :not(:first-child) { text-align: right; }
.plan-fact-row { border-top: 1px solid #eceee3; min-height: 50px; padding: 8px 0; }
.plan-fact-row > span { min-width: 0; }
.plan-fact-row strong { display: block; font-size: 20px; line-height: 1.25; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.plan-fact-row small { display: block; color: #657760; font-size: 10px; line-height: 1.3; margin-top: 3px; }
.detail-overview { margin-bottom: 20px; }
.detail-overview .plan-fact-row strong { font-size: 25px; }
.plan-source { margin-top: 12px; }
.hourly-fact { display: inline-block; border-radius: 5px; padding: 0 4px; background: #fff0b5; color: #644708; cursor: help; }
.legend .hourly-legend:before { background: #e0b44b; }
.hourly-controls { display: flex; align-items: center; gap: 6px; }
.hourly-controls .btn { min-width: 36px; padding: 8px; justify-content: center; }
.hourly-controls input { min-width: 118px; }
.hourly-period { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0 0 14px; }
.hourly-period span { color: #657760; font-size: 12px; }
.hourly-chart { display: grid; grid-template-columns: auto minmax(0,1fr); grid-template-rows: clamp(124px,24vw,180px) auto; gap: 5px 8px; margin: 12px 0 16px; color: #657760; font-size: 10px; }
.hourly-scale { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; font-variant-numeric: tabular-nums; }
.hourly-plot { display: block; width: 100%; height: 100%; border-block: 1px solid #e5e8dc; background: linear-gradient(#e5e8dc,#e5e8dc) center / 100% 1px no-repeat; fill: #bb8c2c; }
.hourly-ticks { display: grid; grid-template-columns: repeat(24,minmax(0,1fr)); grid-column: 2; text-align: center; font-variant-numeric: tabular-nums; }
.legend span.hourly-standard:before { background: #bb8c2c; }
.today-row { font-weight: 700; background: #edf1e7 !important; }
.history-plan { border: 0; border-radius: 4px; background: #f4efdf; color: inherit; font: inherit; font-weight: inherit; padding: 2px 6px; cursor: pointer; }
.history-plan:hover { background: #e9dec1; }
.editable-bar { cursor: pointer; }
.admin-entry { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-bottom: 12px; }
.admin-entry [aria-current="page"] { background: #304d3b; color: #fffefa; }
.user-menu { position: relative; }
.user-menu summary { cursor: pointer; list-style: none; }
.user-menu summary::-webkit-details-marker { display: none; }
.user-menu-actions { position: absolute; z-index: 40; right: 0; top: calc(100% + 10px); min-width: 126px; width: max-content; padding: 4px; border: 1px solid #dce2d6; border-radius: 10px; background: #fffefa; box-shadow: 0 8px 24px #24352d1a; }
.user-menu-actions button { width: 100%; justify-content: flex-start; }
.graph-site, .grid-group { max-width: 320px; margin-bottom: 22px; }
.graph-site select, .grid-group select { margin-top: 5px; }
.register-controls { margin-bottom: 16px; }
.register-controls select { width: auto; max-width: 100%; }
.register-table { margin-bottom: 16px; }
.register-table th, .register-table td { text-align: left; }
.register-table td:first-child { white-space: nowrap; }
.plan-grid-scroll { overflow: auto; scroll-padding: 76px 0 0 6rem; max-height: min(70vh, 680px); border: 1px solid #dce2d6; border-radius: 12px; }
.plan-grid { border-collapse: separate; border-spacing: 0; width: max-content; background: #fffdf8; }
.plan-grid th, .plan-grid td { border: 0; border-right: 1px solid #e4e7df; border-bottom: 1px solid #e4e7df; padding: 8px 8px; text-align: right; white-space: nowrap; }
.plan-grid thead th { position: sticky; z-index: 2; top: 0; height: 44px; background: #e8ede2; text-align: center; }
.plan-grid thead tr:nth-child(2) th { top: 44px; height: 32px; }
.plan-grid th[scope="row"], .plan-grid th[rowspan="2"] { position: sticky; left: 0; background: #f6f7f1; text-align: left; z-index: 1; }
.plan-grid th[rowspan="2"] { z-index: 3; background: #e8ede2; }
.plan-grid th small { display: block; color: #51664f; }
.plan-grid th .grid-legal-group { max-width: 112px; overflow: hidden; text-overflow: ellipsis; margin: 2px auto 0; font-size: 10px; line-height: 12px; text-transform: none; letter-spacing: 0; }
.plan-grid td.plan-grid-plan { background: #faf6eb; }
.plan-grid td.plan-grid-plan.editable { padding: 0; }
.plan-grid .today-row td.plan-grid-plan, .plan-grid .today-row th { background: #e5eddc; }
.plan-grid .tomorrow-row > td, .plan-grid .tomorrow-row > th { background: #f3f6ed; }
.grid-plan-form { width: max-content; margin-left: auto; }
.plan-grid input.grid-plan { width: 68px; padding: 8px; border: 0; border-radius: 0; text-align: right; background: transparent; font: inherit; font-variant-numeric: tabular-nums; }
.plan-grid td[data-grid-cell]:focus, .plan-grid input.grid-plan:focus { outline: 2px solid #527358; outline-offset: -2px; background: #fff; }
.plan-grid input.pending-plan { color: #315f86; opacity: 1; }
.grid-save { display: none; }
@media (pointer: coarse), (max-width: 600px) {
  .plan-grid { font-size: 16px; }
  .grid-plan-form { position: relative; }
  .plan-grid input.grid-plan { width: 96px; padding-left: 40px; }
  .grid-save { display: block; position: absolute; left: 2px; top: 50%; transform: translateY(-50%); visibility: hidden; width: 36px; min-height: 36px; border: 0; border-radius: 6px; background: #2b4735; color: #fff; font-size: 15px; }
  .grid-plan-form:focus-within .grid-save { visibility: visible; }
}
#plan-editor { width: min(92vw, 440px); padding: 24px; border: 1px solid #dce2d6; border-radius: 14px; background: #fffdf8; color: #263e32; }
#plan-editor::backdrop { background: #1e342d70; }
#plan-editor h2 { margin: 0 0 8px; }
@media (max-width: 600px), (pointer: coarse) and (orientation: portrait) and (max-width: 1024px) {
  .site-card .plan-fact-head, .site-card .plan-fact-row { gap: 4px; }
  .site-card .plan-fact-head { font-size: 9px; }
  .site-card .plan-fact-row { font-size: 10px; min-height: 46px; }
  .site-card .plan-fact-row strong { font-size: 15px; }
  .site-card .plan-fact-row small { font-size: 9px; }
}
