:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#142c3d;background:#e9eef0;font-size:16px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bd7b34;outline-offset:2px}.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}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 28px;background:#10283c;color:#fff}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:40px;height:40px;border:1px solid #be955f;border-radius:50%;display:grid;place-items:center;color:#e5b878;font-size:29px}.brand strong{font-family:Georgia,serif;font-size:23px;font-weight:500;display:block;line-height:1}.brand small{color:#a9bdc8;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.top-actions{display:flex;gap:9px;align-items:center}.top-actions span{font-size:13px;color:#b5c6d0;margin-right:10px}.quiet,.primary,.timeline-controls button,.timeline-controls select{border:1px solid #cbd5da;background:white;color:#183547;padding:10px 15px;border-radius:6px;min-height:42px}.topbar .quiet{background:transparent;border-color:#496073;color:white}.primary{background:#bd7b34;color:#fff;border-color:#bd7b34;font-weight:650}.primary:hover{background:#a96927}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 365px;grid-template-rows:minmax(420px,calc(100vh - 286px)) 210px;max-height:calc(100vh - 76px)}.map-panel{position:relative;min-width:0;background:#d4e1e2}.map-panel #map{height:100%;width:100%}.map-overlay{position:absolute;left:22px;top:20px;z-index:500;background:#fff;box-shadow:0 7px 26px #0e31442c;padding:14px 18px;border-left:3px solid #bb7d3f;min-width:190px;pointer-events:none}.map-overlay strong,.map-overlay small{display:block}.map-overlay strong{margin:3px 0;font-family:Georgia,serif;font-size:20px;font-weight:500}.map-overlay small{color:#617787;font-size:13px}.eyebrow{font-size:11px;letter-spacing:.17em;color:#a36c32;font-weight:750}.map-hint{position:absolute;bottom:17px;left:22px;z-index:500;background:#10283ce0;color:white;font-size:12px;padding:8px 12px;border-radius:4px;pointer-events:none}.sidebar{grid-row:1/3;grid-column:2;background:#f8faf9;border-left:1px solid #d9e1e4;display:flex;flex-direction:column;min-height:0}.side-heading{padding:25px 21px 16px;display:flex;justify-content:space-between;align-items:end}.side-heading h1{margin:4px 0 0;font:normal 26px Georgia,serif}.count{background:#e8eff0;color:#506979;padding:4px 9px;border-radius:20px;font-size:13px}.filters{display:grid;gap:9px;padding:0 21px 16px;border-bottom:1px solid #dce4e5}.filters input,.filters select{height:43px;width:100%;border:1px solid #cbd7da;border-radius:5px;background:#fff;color:#183547;padding:0 12px}.event-list{overflow:auto;padding:12px 13px;flex:1}.event-card{display:block;text-align:left;width:100%;border:1px solid #dce4e5;border-left:3px solid transparent;background:#fff;padding:13px 14px;margin-bottom:8px;border-radius:4px;color:inherit}.event-card:hover,.event-card.active{border-left-color:#b97835;background:#fdfbf7}.event-card strong{display:block;font-size:15px;line-height:1.3;margin:5px 0}.event-card small{font-size:13px;color:#5b7080}.event-card .eyebrow{font-size:11px}.empty{padding:28px 14px;color:#546e7c;font-size:15px;line-height:1.55}.detail{border-top:1px solid #d8e0e2;background:#fff;max-height:50%;overflow:auto;padding:19px 22px}.detail h2{font:normal 25px Georgia,serif;margin:5px 0}.detail .meta{font-size:13px;color:#667c89}.detail p{font-size:15px;line-height:1.5;white-space:pre-wrap}.detail-actions{display:flex;gap:8px}.detail-actions button{background:#fff;border:1px solid #cad7da;border-radius:5px;padding:8px 12px;color:#234355}.detail-actions .danger{color:#a03b36}.timeline-panel{grid-column:1;grid-row:2;background:#fff;border-top:1px solid #dce4e6;padding:17px 28px;min-width:0}.timeline-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.timeline-heading h2{font:normal 21px Georgia,serif;margin:3px 0}.timeline-controls{display:flex;gap:6px}.timeline-controls button{padding:5px 12px}.timeline-controls select{padding:5px 8px}.timeline-track{height:70px;position:relative;margin:10px 4px 0;border-bottom:1px solid #a8bdc3;overflow:hidden}.axis{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:end;color:#67808c;font-size:12px;padding-bottom:7px;pointer-events:none}.axis span{border-left:1px solid #b9c9ce;padding:0 4px}.timeline-events{position:absolute;inset:6px 0 24px}.timeline-event{position:absolute;top:7px;height:22px;min-width:9px;border:0;border-radius:3px;background:#b87734;color:#fff;padding:0;cursor:pointer}.timeline-event:focus-visible{z-index:3}.cursor{position:absolute;top:0;bottom:0;width:2px;background:#193a4d;pointer-events:none}.scrub{display:flex;align-items:center;gap:10px;color:#647a84;font-size:12px}.scrub input{flex:1;min-width:0;accent-color:#af6e2e}.timeline-tip{margin:4px 0 0;font-size:12px;color:#657983}dialog{border:0;border-radius:9px;width:min(640px,calc(100% - 22px));max-height:min(92vh,920px);padding:0;box-shadow:0 30px 90px #061e2c77;color:#193548}dialog::backdrop{background:#071d2db0}#event-form{display:grid;gap:14px;padding:25px;overflow:auto;max-height:92vh;background:#fff}.dialog-title{display:flex;justify-content:space-between;align-items:start}.dialog-title h2{font:normal 29px Georgia,serif;margin:3px 0}.icon-button{border:0;background:none;font-size:30px;line-height:1;color:#5e7480}#event-form label{font-size:14px;font-weight:620;display:grid;gap:5px;min-width:0}#event-form input:not([type=checkbox]),#event-form select,#event-form textarea{width:100%;border:1px solid #bdccd1;border-radius:4px;padding:9px 10px;background:white;color:#193548;min-height:41px}#event-form textarea{resize:vertical}#event-form fieldset{border:1px solid #d7e0e2;border-radius:5px;padding:10px 12px 14px;min-width:0}#event-form legend{padding:0 6px;font-weight:650}.date-row{display:grid;grid-template-columns:1fr 1.2fr 1.4fr;gap:9px;margin-top:7px}.extra-date{grid-template-columns:1fr 1fr 1fr}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px;align-items:center}#event-form .checkbox{display:flex;align-items:center;gap:9px;font-weight:500}.checkbox input{width:18px;height:18px;accent-color:#ad7135}.field-help{color:#5f7582;font-size:12px;margin:-11px 0 0}.dialog-actions{display:flex;justify-content:end;gap:8px}.error{color:#ae3b32;font-size:14px;margin:0;min-height:1em}#toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#10283c;color:white;padding:10px 17px;border-radius:5px;z-index:2000;display:none;box-shadow:0 8px 25px #0004}.event-pin{background:#b97731;border:2px solid white;box-shadow:0 1px 5px #1239;border-radius:50%;width:15px;height:15px}.event-pin.selected{background:#173a50;width:19px;height:19px}@media(max-width:900px){.workspace{grid-template-columns:minmax(0,1fr) 320px}.top-actions span{display:none}}@media(max-width:700px){.topbar{height:auto;min-height:68px;padding:10px 14px;flex-wrap:wrap}.brand strong{font-size:20px}.brand small{display:none}.top-actions{margin-left:auto}.top-actions .quiet{display:none}.workspace{display:flex;flex-direction:column;max-height:none}.map-panel{height:38vh;min-height:260px;order:0}.map-overlay{left:10px;top:10px;padding:9px 11px;min-width:0}.map-overlay strong{font-size:17px}.map-hint{display:none}.timeline-panel{order:1;padding:12px 15px;min-height:190px}.timeline-heading h2{font-size:18px}.sidebar{order:2;border-left:0;border-top:1px solid #d8e0e2;min-height:310px}.side-heading{padding:16px}.filters{padding:0 16px 12px;grid-template-columns:1fr 140px}.event-list{max-height:360px}.detail{max-height:none}.timeline-tip{line-height:1.3}dialog{max-height:95vh}#event-form{padding:17px;max-height:95vh}}@media(max-width:420px){.filters{grid-template-columns:1fr}.date-row{grid-template-columns:1fr 1fr}.date-row label:last-child{grid-column:1/-1}.extra-date{grid-template-columns:repeat(3,1fr)}.extra-date label:last-child{grid-column:auto}.form-row{grid-template-columns:1fr}.timeline-controls select{max-width:112px}}
