*{box-sizing:border-box}html{color:#203e32;background:#f5f1e7}body{margin:0}header{max-width:960px;margin:auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cfbea0}a{color:inherit;text-underline-offset:4px}.brand{font-weight:700;font-size:24px;text-decoration:none}main{max-width:700px;padding:36px 24px 48px;margin:auto}.intro{text-align:center;margin-bottom:28px}.intro p{font-size:15px;line-height:1.8;color:#665a43}.intro h1{font-size:32px;margin:12px 0}.calendar,.shipment-panel{background:#fffdf7;border:1px solid #cdb887;border-radius:12px;padding:24px;box-shadow:0 5px 18px #5946260c}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.month-nav h2{font-size:23px;margin:0}.month-nav button{width:44px;height:44px;border:1px solid #cdb887;border-radius:6px;color:#203e32;background:#f6efdc;font-size:28px}button{cursor:pointer;font:inherit;touch-action:manipulation}#goToday{display:block;margin:14px auto 20px;border:1px solid #cdb887;border-radius:6px;padding:8px 16px;min-height:44px;background:#fff7e4;color:#5b4522;font-size:14px}.weekdays,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{text-align:center;font-size:14px;margin-bottom:8px;color:#686550}.weekdays span:first-child{color:#a43a44}.weekdays span:last-child{color:#3666a1}.day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:60px;padding:6px 0;border:1px solid transparent;border-radius:8px;background:#f5f4ed;color:#203e32;font-size:17px}.day.today{border-color:#ac8339}.day[aria-pressed="true"]{background:#234d3c;color:#fff3d3;border-color:#234d3c;box-shadow:inset 0 1px 0 #ffffff40}.day small{font-size:10px;line-height:1}.shipment-panel{margin-top:22px}.eyebrow{font-size:13px;color:#8a692e;margin:0 0 8px}.shipment-panel h2{font-size:23px;margin:0 0 12px;line-height:1.5}#shipmentCount{font-size:14px;color:#68705d}#shipmentList{list-style:none;margin:0;padding:0}#shipmentList li{padding:14px 8px;border-top:1px solid #e4dbc8;font-size:17px}#emptyState{padding:24px 8px;text-align:center;color:#6b705e;font-size:15px;line-height:1.7}.note,footer{text-align:center;font-size:13px;line-height:1.7;color:#72715f}footer{padding:0 20px 28px}button:focus-visible,a:focus-visible{outline:3px solid #b4883c;outline-offset:3px}[hidden]{display:none!important}@media(max-width:600px){header{padding:16px 18px}header>a:last-child{font-size:14px}main{padding:26px 12px 36px}.calendar,.shipment-panel{padding:16px 12px}.day{min-height:49px;font-size:15px}.days,.weekdays{gap:3px}.month-nav h2{font-size:20px}.shipment-panel h2{font-size:21px}}@media(max-width:359px){.calendar{padding-inline:9px}.day{min-height:45px}}

/* Art Deco dispatch ledger, framed by the workshop rather than obscuring it. */
html{background:#20271e}body{position:relative;isolation:isolate;min-height:100vh}
.dispatch-background,.dispatch-shade{position:fixed;inset:0 auto auto 0;width:100%;height:100vh;height:100svh;pointer-events:none}.dispatch-background{z-index:-2}.dispatch-background img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.dispatch-shade{z-index:-1;background:linear-gradient(180deg,#101a1455,#101a1410 35%,#101a1444)}
header{border-color:#d8bc774d;color:#fff1d0;background:#17211930;text-shadow:0 2px 4px #11180f}.intro h1{color:#fff0c9;text-shadow:0 2px 4px #09140f;letter-spacing:.06em}.intro p{color:#f4e1b8;text-shadow:0 2px 4px #09140f}.intro:after{content:'◇';display:block;width:180px;margin:20px auto 0;color:#ebce8b;background:linear-gradient(#c6a76e,#c6a76e) left center/65px 1px no-repeat,linear-gradient(#c6a76e,#c6a76e) right center/65px 1px no-repeat}
main{max-width:660px}.calendar,.shipment-panel{border:2px solid #b39457;border-top-color:#eddaa6;border-radius:4px;background:repeating-linear-gradient(0deg,#a78a5205 0px,#a78a5205 1px,transparent 1px,transparent 4px),linear-gradient(120deg,#fff9eaf7,#ece1c8f7);box-shadow:inset 0 0 0 4px #faf0d9,inset 0 0 0 5px #ba9c604d,0 4px 0 #715b35,0 12px 28px #090e0a66}
.month-nav{padding-bottom:12px;border-bottom:1px solid #bfa77180}.month-nav h2{color:#294938;letter-spacing:.03em}.month-nav button,#goToday{background:linear-gradient(130deg,#fff1c8,#d9bc7d);border-color:#aa8748;border-radius:3px;box-shadow:inset 0 1px 0 #fff8e3,0 2px 0 #9e7f4840;color:#45351d}
.day{background:#fffaf099;border-radius:3px;border-color:#bba77638;color:#294333}.day.today{border:2px solid #a87922}.day[aria-pressed="true"]{background:linear-gradient(135deg,#35654e,#183d30);color:#fff1c5;border-color:#294e38;box-shadow:inset 0 1px 0 #ffffff30,0 2px 4px #203b321f}.day:hover:not([aria-pressed="true"]){background:#f1ddb0}
.shipment-panel h2{border-bottom:1px solid #bba47080;padding-bottom:12px}.note,footer{color:#f8e9c9;text-shadow:0 2px 4px #0f190f}
@media(max-width:600px){main{padding-top:54px}.dispatch-background img{object-position:center top}.intro h1{font-size:30px}.calendar,.shipment-panel{padding:18px 12px}}
@media(prefers-contrast:more){.calendar,.shipment-panel{background:#fff9e9}.intro{background:#1c3024;padding:16px}}

/* A lightly translucent paper surface; text and controls keep full opacity. */
.calendar{background:repeating-linear-gradient(0deg,#a78a5205 0px,#a78a5205 1px,transparent 1px,transparent 4px),linear-gradient(120deg,rgba(255,249,234,.86),rgba(236,225,200,.86))}
.dispatch-background{z-index:-3}.dispatch-shade{z-index:-2}.dispatch-atmosphere{position:fixed;inset:0 auto auto 0;width:100%;height:100vh;height:100svh;z-index:-1;pointer-events:none;contain:paint;overflow:hidden}.dispatch-atmosphere canvas{display:block;width:100%;height:100%;pointer-events:none}
@media(prefers-reduced-motion:reduce){.dispatch-atmosphere{display:none}}
@media(prefers-contrast:more){.calendar{background:#fff9e9}}

/* Brushed brass calendar frame and individually inset enamel date plates. */
.calendar{position:relative;border-color:#bb9555;border-top-color:#f4dfaa;border-bottom-color:#735330;background:repeating-linear-gradient(0deg,#fff7d512 0 1px,#56452608 1px 2px,transparent 2px 4px),linear-gradient(115deg,#fff5dc33,transparent 28%,#fff4d833 42%,transparent 60%),linear-gradient(120deg,#f1e4c7e0,#c7b58ee0);box-shadow:inset 0 0 0 3px #f2dfb2,inset 0 0 0 5px #a3844d,inset 0 0 0 6px #fff0c980,0 4px 0 #705433,0 10px 22px #11180f66}
.calendar:before{content:'';position:absolute;inset:9px;pointer-events:none;background:linear-gradient(#98733f,#98733f) left top/22px 2px no-repeat,linear-gradient(#98733f,#98733f) left top/2px 22px no-repeat,linear-gradient(#98733f,#98733f) right top/22px 2px no-repeat,linear-gradient(#98733f,#98733f) right top/2px 22px no-repeat,linear-gradient(#98733f,#98733f) left bottom/22px 2px no-repeat,linear-gradient(#98733f,#98733f) left bottom/2px 22px no-repeat,linear-gradient(#98733f,#98733f) right bottom/22px 2px no-repeat,linear-gradient(#98733f,#98733f) right bottom/2px 22px no-repeat}
.month-nav{border-bottom:3px double #99764288;padding-bottom:16px}.month-nav h2{text-shadow:0 1px 0 #fff6da;letter-spacing:.06em}
.calendar .month-nav button,.calendar #goToday{background:repeating-linear-gradient(0deg,#fff4d514 0 1px,transparent 1px 3px),linear-gradient(115deg,#f7e4b5,#d2b578 58%,#b39356);border-color:#a58449;border-top-color:#fff0c8;box-shadow:inset 0 0 0 2px #f5dfab70,inset 0 1px 0 #fff6d6,0 2px 0 #8c6b3d,0 4px 7px #45372125;transition:translate .18s ease,box-shadow .18s ease}
.weekdays{padding:8px 0;border-bottom:1px solid #92733d55;margin-bottom:10px;font-weight:700;color:#50482e}
.days{gap:7px}.calendar .day{border:1px solid #b49b6b;border-top-color:#fff1cc;border-bottom-color:#9c8050;background:repeating-linear-gradient(0deg,#fff8dd0d 0 1px,transparent 1px 3px),linear-gradient(115deg,#fff4da,#e6d8b9 60%,#d5c5a3);box-shadow:inset 0 0 0 2px #fff1d044,inset 0 1px 0 #fff7e0,0 2px 0 #9a8058,0 3px 5px #43391d20;text-shadow:0 1px 0 #fff7df;transition:translate .16s ease,box-shadow .16s ease}
.calendar .day.today{border:2px solid #997021}.calendar .day.today small{font-weight:700}
.calendar .day[aria-pressed="true"]{color:#fff2c9;border-color:#c9a66a;border-top-color:#edd49c;background:repeating-linear-gradient(0deg,#fff2c508 0 1px,transparent 1px 3px),linear-gradient(125deg,#56785d,#2e513e 55%,#193a2d);box-shadow:inset 0 0 0 2px #e4c89040,inset 0 1px 0 #f7e3ac55,0 2px 0 #173528,0 4px 7px #172b2c33;text-shadow:0 1px 2px #172b20}
@media(hover:hover) and (pointer:fine){.calendar .day:hover:not([aria-pressed="true"]){background:linear-gradient(115deg,#fff4d2,#e6cc91);translate:0 -1px;box-shadow:inset 0 0 0 2px #fff1d077,0 3px 0 #9a8058,0 5px 8px #43391d30}.calendar :is(.month-nav button,#goToday):hover{translate:0 -1px}}
.calendar .day:active,.calendar .month-nav button:active,.calendar #goToday:active{translate:0 1px;box-shadow:inset 0 1px 3px #45372133,0 1px 0 #8c6b3d}
@media(max-width:600px){.calendar{padding:20px 14px}.days{gap:5px}.calendar .day{min-height:49px}.month-nav h2{letter-spacing:.02em}.calendar:before{inset:8px}}
@media(prefers-reduced-motion:reduce){.calendar .day,.calendar .month-nav button,.calendar #goToday{transition:none;translate:none!important}}
@media(prefers-contrast:more){.calendar{background:#f5e9cf}.calendar .day{background:#fff4da}.calendar .day[aria-pressed="true"]{background:#234d3c}}

/* Compact dispatch layout, retaining comfortable date controls. */
.calendar .day.saturday .day-number{color:#235b9a}.calendar .day.holiday .day-number{color:#a32e3c}
.calendar .day.saturday[aria-pressed="true"] .day-number{color:#a9d4ff}.calendar .day.holiday[aria-pressed="true"] .day-number{color:#ffb5ba}
body>main{padding-top:24px;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
.intro{margin-bottom:16px}.intro p{margin:6px 0;line-height:1.5}.intro h1{margin:8px 0;font-size:29px;line-height:1.3}.intro:after{margin-top:10px;line-height:1}
.calendar{padding:16px 18px}.month-nav{padding-bottom:9px}.month-nav h2{font-size:21px}
#goToday{margin:9px auto 10px;padding:6px 14px}.weekdays{padding:5px 0;margin-bottom:7px}
.days{gap:5px}.calendar .day{min-height:48px;padding:4px 0}
.shipment-panel{margin-top:16px;padding:16px 18px}.eyebrow{margin-bottom:5px}.shipment-panel h2{font-size:21px;line-height:1.35;margin-bottom:8px;padding-bottom:8px}
#shipmentCount{margin:8px 0}#shipmentCount:empty{display:none}#emptyState{margin:0;padding:14px 4px;line-height:1.5}#shipmentList li{padding:10px 6px}.note{margin:12px 0 0;line-height:1.5}
@media(max-width:600px){body>main{padding-top:24px;padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))}.intro h1{font-size:27px}.intro p{font-size:14px}.calendar{padding:14px 12px}.month-nav h2{font-size:19px}.calendar .day{min-height:46px}.days{gap:4px}.shipment-panel{padding:14px 12px}.shipment-panel h2{font-size:19px}}
.shipment-admin{display:flex;justify-content:flex-end;margin:0 0 14px}
#registerShipment,#retryShipments{min-height:44px;padding:9px 16px;border:1px solid #c4a262;border-top-color:#f4dfad;border-radius:3px;background:linear-gradient(125deg,#f5e2b3,#cfad6b);color:#382c1c;box-shadow:inset 0 1px #fff7dc,0 3px #76552e,0 6px 12px #11180f35;font-size:15px;font-weight:700;transition:transform .18s}
#registerShipment:hover{transform:translateY(-1px)}#registerShipment:active{transform:translateY(1px)}#registerShipment:disabled{opacity:.65;cursor:wait}
.shipment-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;font-size:17px;line-height:1.85;padding:8px 4px;min-height:40px}
#retryShipments{display:block;margin:8px auto;font-size:14px}
#shipmentEditor{width:calc(100% - 24px);max-width:620px;max-height:calc(100dvh - 32px);overflow:auto;border:2px solid #bea16c;border-radius:4px;padding:24px;background:linear-gradient(125deg,#fff8e9,#e9dcc0);color:#263d30;box-shadow:inset 0 0 0 3px #fff0cf,0 8px 34px #18130c88}
#shipmentEditor::backdrop{background:#111c16bb}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #b49a6866;padding-bottom:12px}.editor-heading h2{font-size:23px;margin:0}.editor-date{font-size:15px;font-weight:700;margin:16px 0}
#closeShipmentEditor,#deleteShipment{min-height:44px;padding:8px 13px;background:transparent;border:1px solid #9d8a69;border-radius:3px;color:#4e483c;font-size:14px}
#shipmentEditor label{display:block;margin:16px 0 8px;font-size:15px;font-weight:700}#shipmentContent{display:block;width:100%;resize:vertical;min-height:180px;max-height:50dvh;border:1px solid #ac9568;border-radius:3px;background:#fffdf6;color:#24382e;font:inherit;font-size:16px;line-height:1.7;padding:12px}
#editorHelp{font-size:12px;line-height:1.6;color:#605e50;margin:10px 0}#shipmentEditorError{font-size:14px;line-height:1.6;color:#8c263c}#shipmentEditorError:empty{display:none}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}#deleteShipment{margin-right:auto;color:#7e3442;border-color:#ac7780}
#saveShipment{min-height:44px;min-width:100px;padding:10px 24px;border:1px solid #ab925f;border-radius:3px;background:linear-gradient(130deg,#315a43,#1a3c2e);color:#fff1d0;box-shadow:inset 0 1px #ffffff40,0 3px #163323}#shipmentEditor button:disabled{opacity:.6;cursor:wait}
#shipmentContent:focus-visible{outline:3px solid #967039;outline-offset:3px}
@media(max-width:600px){#shipmentEditor{padding:18px 16px}.editor-heading h2{font-size:21px}.shipment-text{font-size:16px}.shipment-admin{margin-bottom:12px}#registerShipment{font-size:14px}}
@media(prefers-reduced-motion:reduce){#registerShipment{transition:none;transform:none}}
