*{box-sizing:border-box}body{margin:0;background:#f6f5f1;color:#202923;font:14px/1.45 system-ui,Arial,sans-serif}a{color:#226246;text-underline-offset:3px}button,.button{display:inline-block;border:1px solid #24543e;border-radius:8px;background:#24543e;color:#fff;font:inherit;padding:10px 16px;cursor:pointer;text-decoration:none}button:hover,.button:hover{filter:brightness(.93)}.secondary{background:white;color:#24543e}.quiet{background:transparent;color:#24543e;border-color:#c6cfc7;padding:6px 10px}.danger{color:#a13526}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a16207;outline-offset:3px}input,select{font:inherit;padding:9px;border:1px solid #aab4ac;border-radius:6px;max-width:100%;background:white;color:#202923}input[type=checkbox]{width:18px;height:18px;accent-color:#24543e}label{font-weight:600}main{max-width:1560px;margin:0 auto;padding:32px 28px 50px}.site-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 28px;background:#fff;border-bottom:1px solid #d8dfd8}.site-nav>div{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.site-nav form{display:inline}.brand{font-size:21px;font-weight:750;text-decoration:none}.brand span{display:block;font-size:11px;font-weight:400;letter-spacing:.05em;color:#687469}h1{font-size:clamp(26px,3vw,38px);letter-spacing:-.04em;line-height:1.15;margin:6px 0 12px}h2{font-size:20px}p{color:#5d6a60}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;color:#637368}.page-header{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:24px}.page-header p{margin:4px 0}.actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}.card,.empty{padding:24px;border:1px solid #d6dfd5;border-radius:13px;background:white;text-decoration:none;color:inherit}.card h2{margin:12px 0}.card>span:last-child{color:#226246}.empty{grid-column:1/-1;padding:55px}.form-card{max-width:560px;background:#fff;border:1px solid #d6dfd5;border-radius:14px;padding:30px;margin:30px auto}.form-card form p{margin:18px 0}.form-card label{display:block;margin-bottom:6px}.form-card input:not([type=checkbox]),.form-card select{width:100%}.helptext{display:block;font-size:12px;margin-top:6px}.errorlist{color:#a13526;padding-left:20px}.message,.notice{padding:12px 16px;background:#edf1e7;border:1px solid #d6dfc5;border-radius:8px}.week-nav,.owner-tools,.controls,.share{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:16px 0}.week-nav form{display:flex;align-items:center;gap:8px;margin-left:auto}.owner-tools{justify-content:space-between;padding:16px 0;border-block:1px solid #d3dcd2}.controls{padding-top:10px}.controls label{display:flex;align-items:center;gap:7px;font-weight:400}.share input{flex:1;min-width:180px}.share form{margin:0}.share{background:white;border:1px solid #d6dfd5;border-radius:8px;padding:12px}.versions{margin:14px 0}.versions li{padding:4px}summary{cursor:pointer}.legend{display:flex;flex-wrap:wrap;gap:7px 14px;margin:12px 0}.key{padding:4px 9px;font-size:12px;border:1px solid #555;border-left:5px var(--pattern) #222;background:var(--shade)}.color .key{background:var(--color)}.scroll{overflow:auto;padding-bottom:12px}.week{display:grid;grid-template-columns:55px repeat(7,minmax(0,1fr));min-width:1120px;background:white;border:1px solid #444}.day{min-width:0;border-left:1px solid #888}.day h2,.axis-title{height:42px;margin:0;padding:12px 2px;text-align:center;font-size:13px;border-bottom:2px solid #333;background:#f1f2ee;line-height:1.2}.track,.axis{height:1680px;position:relative}.hour-line{position:absolute;left:0;right:0;height:0;border-top:1px solid #d2d5d1;pointer-events:none}.axis span{position:absolute;left:4px;transform:translateY(-50%);font-size:11px;font-variant-numeric:tabular-nums;background:white}.axis span:first-child{transform:none}.axis span:last-child{transform:translateY(-100%)}.event{position:absolute;left:3px;right:3px;padding:3px 5px;display:flex;flex-direction:column;justify-content:center;gap:2px;line-height:1.1;border:1.5px solid #222;border-left:5px var(--pattern) #222;background:var(--shade);color:#181818;overflow:hidden}.color .event{background:var(--color)}.event strong{font-size:12px;overflow-wrap:anywhere}.event-time{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.place{font-size:10px}.edit-event{font-size:10px;color:#1c503b}.event.active{outline:3px solid #b73f16;outline-offset:-3px}.day.today h2{box-shadow:inset 0 -4px #b73f16}.now-line{position:absolute;left:0;right:0;border-top:2px dashed #b73f16;z-index:5;pointer-events:none}.now-line:before{content:'';position:absolute;left:0;top:-5px;border-left:8px solid #b73f16;border-block:4px solid transparent}.event-list{margin:30px 0}.event-list h3{margin:24px 0 6px}.event-row{display:grid;grid-template-columns:100px 1fr 160px auto auto;align-items:center;gap:16px;padding:9px 12px;border-bottom:1px solid #d6dfd5;background:white}.event-row form{margin:0}.danger-zone{display:flex;gap:20px;flex-wrap:wrap;margin-top:30px;padding-top:20px;border-top:1px solid #ddd}.history{display:grid;gap:16px}.history form{margin-top:16px}#clock{font-size:12px;font-variant-numeric:tabular-nums}#copy-status{font-size:12px}
@media(max-width:700px){main{padding:20px 12px}.site-nav{padding:12px;align-items:flex-start}.site-nav>div{gap:9px;font-size:12px}.brand{font-size:18px}.brand span{display:none}.page-header{align-items:flex-start;flex-direction:column}.week-nav form{margin-left:0}.form-card{padding:20px}.event-row{grid-template-columns:90px 1fr auto;gap:8px}.event-row>span:nth-of-type(2){grid-column:2}.event-row form{grid-column:3}.empty{padding:28px}.share{align-items:flex-start}}
@page{size:A4 landscape;margin:8mm}
@media print{body{background:white;color:black;font-family:Arial,sans-serif}main{padding:0;max-width:none}.site-nav,.week-nav,.owner-tools,.versions,.share,.controls,.notice,.message,.actions,.event-list,.danger-zone,.edit-event{display:none!important}.page-header{margin:0 0 2mm}.page-header h1{font-size:17pt;margin:0}.page-header p{font-size:8pt;color:black;margin:1mm 0}.page-header .eyebrow{display:none}.legend{margin:0 0 2mm;gap:1mm 3mm}.key{font-size:6.5pt;padding:.5mm 1mm;background:var(--shade)!important;border-left:.9mm var(--pattern) black;print-color-adjust:exact;-webkit-print-color-adjust:exact}.scroll{overflow:visible;padding:0}.week{min-width:0;width:100%;grid-template-columns:11mm repeat(7,minmax(0,1fr));border:.35mm solid black;break-inside:avoid}.track,.axis{height:158mm}.day{border-left:.25mm solid #777}.day h2,.axis-title{height:7mm;padding:2mm 0;font-size:8pt;background:white;color:black;border-bottom:.4mm solid black}.axis span{font-size:6.5pt;left:.5mm}.hour-line{border-top:.15mm solid #bbb}.event{left:.6mm;right:.6mm;padding:.15mm .4mm;gap:.1mm;border:.3mm solid black;border-left:.9mm var(--pattern) black;background:var(--shade)!important;color:black;outline:none!important;line-height:1;print-color-adjust:exact;-webkit-print-color-adjust:exact}.event strong{font-size:6.5pt}.event-time{font-size:6pt}.place{display:none}.now-line{display:none!important}.day.today h2{box-shadow:none}.color .event{background:var(--shade)!important}}
