:root{--navy:#16263d;--navy2:#22385a;--brass:#a8834a;--brass-lt:#efe4d2;--red:#a8322a;--red-lt:#f6e3e1;--grn:#2f6b45;--grn-lt:#e2efe6;--amb:#8a5a12;--amb-lt:#f7ecd8;--ink:#1b2230;--mut:#59627a;--line:#e4e1da;--bg:#f6f4ef;--card:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,system-ui,sans-serif}.serif{font-family:Iowan Old Style,Georgia,serif}header{background:var(--navy);color:#fff;display:flex;align-items:center;gap:14px;padding:0 20px;height:58px;position:sticky;top:0;z-index:5}.mono{width:34px;height:34px;border:1.5px solid var(--brass);color:var(--brass);display:grid;place-items:center;font:600 14px Iowan Old Style,Georgia,serif;letter-spacing:.04em}.brand{font:600 17px Iowan Old Style,Georgia,serif;margin-right:auto;white-space:nowrap}.brand small{display:block;font:11px system-ui;color:#b9c3d3;letter-spacing:.08em;text-transform:uppercase}h1{font-size:22px;margin:0 0 14px}.shell-header{flex-wrap:wrap;height:auto;padding:10px 16px;gap:10px 14px}.shell-header nav{display:flex;gap:2px;overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}.shell-header nav a{color:#dfe5ee;text-decoration:none;font:14px system-ui;padding:8px 11px;border-radius:6px;white-space:nowrap}.shell-header nav a.active{background:var(--navy2);color:#fff;box-shadow:inset 0 -2px 0 var(--brass)}main{padding:18px 16px;max-width:720px;margin:0 auto}input,select,textarea,button{font-family:inherit}input,select,textarea{font-size:16px;width:100%;padding:9px 10px;border:1px solid #c6ccd6;border-radius:7px;background:#fff;color:var(--ink)}input[type=checkbox]{width:20px;height:20px;padding:0}label{display:block;font-weight:600;font-size:14px;margin-bottom:4px}:focus-visible{outline:3px solid var(--brass);outline-offset:2px}.btn{display:inline-block;text-decoration:none;text-align:center;background:var(--navy);color:#fff;border:0;border-radius:7px;padding:11px 16px;font:600 15px system-ui;cursor:pointer}.btn.ghost{background:transparent;color:#fff;border:1px solid #5b6f8f;padding:7px 12px;font-size:13px}.btn:disabled,.link:disabled{opacity:.6;cursor:progress}.link{background:none;border:0;color:var(--navy);text-decoration:underline;cursor:pointer;font:14px system-ui;padding:8px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin:0 0 16px}fieldset.card legend{font-size:17px;font-weight:600;padding:0 6px}.field{margin-bottom:12px}.field.check{display:flex;align-items:center;gap:10px}.field.check label{margin:0}.msg{margin:8px 0;padding:8px 10px;border-radius:7px;font-size:14px}.msg.err{background:var(--red-lt);color:var(--red)}.msg.ok{background:var(--grn-lt);color:var(--grn)}.mut{color:var(--mut)}.center-page{min-height:100vh;display:grid;place-items:center;padding:16px}.auth-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:6px;margin:0}.auth-card .mono{color:var(--navy);border-color:var(--brass)}.auth-card h1{margin:8px 0}.stack{display:flex;flex-direction:column;gap:6px}.qr{align-self:center;border:1px solid var(--line)}.secret{word-break:break-all;background:var(--bg);padding:8px;border-radius:6px}.settings fieldset{min-width:0}main{max-width:860px}h2.h{margin:0 0 10px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--mut)}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.toolbar h1{margin:0 auto 0 0}.btn.sec{background:#fff;color:var(--navy);border:1px solid #c6ccd6}.btn.small{padding:7px 11px;font-size:13px}.btn.brass{background:var(--brass)}.btn:disabled{cursor:not-allowed}.pill{display:inline-block;border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600;white-space:nowrap}.pill.let{background:var(--grn-lt);color:var(--grn)}.pill.res{background:var(--amb-lt);color:var(--amb)}.pill.av{background:#eceef2;color:#4f5869}.pill.late{background:var(--red-lt);color:var(--red)}.pills{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.red{color:var(--red)}.grn{color:var(--grn)}.unit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.unit{background:var(--card);border:1px solid var(--line);border-radius:10px;min-width:0}.unit.wide,.unit.open{grid-column:1/-1}.unit.open{border-color:var(--brass)}.unit-head{display:block;width:100%;text-align:left;background:none;border:0;padding:14px;cursor:pointer;color:inherit;font:inherit;border-radius:10px}.unit-head:hover{background:#faf8f3}.unit-title{display:block;margin:0 0 6px;font:600 18px Iowan Old Style,Georgia,serif}.unit-head .line{display:block;margin-top:6px;font-size:13px;overflow-wrap:anywhere}.unit-body{padding:0 14px 14px;border-top:1px solid var(--line)}.unit-body h3{font-size:15px;margin:14px 0 8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.grid2 .full{grid-column:1/-1}.row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #f0ede6;flex-wrap:wrap}.row:first-child{border-top:0}.row .grow{flex:1;min-width:0;overflow-wrap:anywhere}.steps{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap;padding:0;list-style:none}.steps li{flex:1;min-width:120px;text-align:center;padding:8px;border-radius:7px;font-size:13px;font-weight:600}.steps .done{background:var(--grn-lt);color:var(--grn)}.steps .now{background:var(--amb-lt);color:var(--amb);outline:1.5px solid #e0c48f}.steps .todo{background:#eceef2;color:#566073}.big{font:600 26px Iowan Old Style,Georgia,serif;margin:0}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.facts div{min-width:0}.facts .l{color:var(--mut);font-size:13px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:var(--mut);font-weight:600;font-size:12px;padding:6px 8px;border-bottom:1px solid var(--line)}td{padding:9px 8px;border-bottom:1px solid #f0ede6;vertical-align:middle}td.num,th.num{text-align:right;white-space:nowrap}.actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.voided td{color:var(--mut);text-decoration:line-through}.voided td.actions-cell{text-decoration:none}.checks .field.check{margin-bottom:8px}.notes-list{list-style:none;margin:0;padding:0}.notes-list li{padding:8px 0;border-top:1px solid #f0ede6;font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap}.notes-list li:first-child{border-top:0}dialog{border:1px solid var(--line);border-radius:12px;padding:18px;width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;color:var(--ink)}dialog::backdrop{background:#16263d73}dialog h2{margin:0 0 12px;font:600 19px Iowan Old Style,Georgia,serif}.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.hint{font-size:13px;color:var(--mut);margin:6px 0 0}fieldset{min-width:0}fieldset.plain{border:0;padding:0;margin:0 0 12px}fieldset.plain legend{font-weight:600;font-size:14px;margin-bottom:6px;padding:0}.choice{display:flex;align-items:center;gap:10px;padding:6px 0;font-weight:400}.choice input{flex:none}@media (max-width:600px){.grid2,.facts{grid-template-columns:1fr}.grid2 .full{grid-column:auto}table.stack thead{display:none}table.stack tr{display:block;border-bottom:1px solid var(--line);padding:6px 0}table.stack td{display:flex;justify-content:space-between;gap:12px;border:0;padding:4px 0;text-align:right}table.stack td:before{content:attr(data-label);color:var(--mut);font-size:13px;text-align:left}table.stack td.actions-cell:before{content:none}table.stack td.actions-cell{justify-content:flex-end}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.unit .pill{white-space:normal}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 16px}.tile{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;min-width:0}.tile .l{color:var(--mut);font-size:13px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}@media (min-width:700px){.tiles{grid-template-columns:repeat(4,1fr)}.filters{max-width:420px}}.seg{display:inline-flex;border:1px solid #c6ccd6;border-radius:7px;overflow:hidden}.seg button{background:#fff;color:var(--navy);border:0;padding:8px 12px;font:600 13px system-ui;cursor:pointer}.seg button.on{background:var(--navy);color:#fff}.nav-arrows{display:flex;align-items:center;gap:10px;margin-left:auto}.nav-arrows strong{font-size:14px;text-align:center}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:16px}.cal-h{background:#eceef2;color:var(--mut);font-size:11px;font-weight:600;text-align:center;padding:4px 0}.cal-d{background:var(--card);min-height:84px;padding:3px;min-width:0;display:flex;flex-direction:column;gap:2px}.cal-d.pad{background:#faf8f3}.cal-d.today{box-shadow:inset 0 0 0 2px var(--brass)}.cal-d .n{font-size:11px;color:var(--mut)}.ev{display:block;border:0;border-radius:4px;padding:1px 4px;font:600 10.5px/1.35 system-ui;text-align:left;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;cursor:default}.ev.full{display:inline-block;white-space:normal;font-size:13px;padding:2px 8px;vertical-align:middle}.ev.rent{background:#e6ebf3;color:var(--navy)}.ev.reminder{background:var(--amb-lt);color:var(--amb)}.ev.check{background:#eceef2;color:#4f5869}.ev.start{background:var(--grn-lt);color:var(--grn)}.ev.notice{background:var(--red-lt);color:var(--red)}.ev.job{background:var(--brass-lt);color:#5f4620;cursor:pointer}.ev.job.overdue{background:var(--red);color:#fff}a.ev{cursor:pointer}.day h3{margin:12px 0 2px;font-size:14px}.day:first-child h3{margin-top:0}.day h3.today{color:var(--brass)}.day .none{margin:2px 0;font-size:13px}@media (max-width:600px){.cal-d{min-height:64px}.ev{font-size:9.5px;padding:1px 2px}.nav-arrows{margin-left:0;width:100%;justify-content:space-between}}
