:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background:#eef2ff;line-height:1.4;font-weight:400}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:radial-gradient(circle at top left,rgba(99,102,241,.16),transparent 30%),linear-gradient(180deg,#eff6ff,#f8fafc)}button,input,textarea,select{font:inherit}button{border:none;cursor:pointer}input,textarea,select{width:100%;padding:.72rem .8rem;border:1px solid #cbd5e1;border-radius:.9rem;background:#fff}textarea{resize:vertical}.app-shell{max-width:1440px;margin:0 auto;padding:1.25rem}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.topbar h1,.modal h2,.day-heading h2{margin:.1rem 0 0}.title-block{display:grid;gap:.2rem}.calendar-name-button,.calendar-name-input{font-size:2rem;font-weight:700;line-height:1.1;color:#0f172a}.calendar-name-button{padding:0;background:transparent;text-align:left}.calendar-name-input{width:min(100%,28rem);padding:.15rem .25rem;border-radius:.6rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:#64748b;margin:0}.top-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end;justify-content:flex-end}.small-field{display:grid;gap:.25rem;min-width:7rem}.small-field span,.field-label,.scope-box span{font-size:.85rem;color:#475569}.layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:1rem}.card,.card-subtle{background:#ffffffd6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(148,163,184,.25);border-radius:1.4rem;box-shadow:0 16px 38px #0f172a14}.card{padding:1rem}.card-subtle{padding:.8rem}.sidebar{align-self:start;position:sticky;top:1rem}.panel-section+.panel-section{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid #e2e8f0}.section-header,.calendar-toolbar,.modal-head,.modal-actions,.week-day-header,.month-cell-head{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.section-header h2,.section-header h3,.toolbar-title,.modal h3{margin:0}.toolbar-subtitle,.empty-state,.detail-grid p{margin:.15rem 0 0;color:#64748b}.calendar-toolbar{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.toolbar-left,.toolbar-right,.filter-actions,.label-list,.journey-list,.entry-list,.compact-entry-list,.label-selector,.form-grid,.recurrence-box,.stack-lg,.scope-box,.detail-grid{display:grid;gap:.75rem}.toolbar-left,.toolbar-right{display:flex;align-items:center}.row-actions{display:inline-flex;align-items:center;gap:.35rem}.section-header-actions{display:inline-flex;align-items:center;gap:.45rem}.view-switcher{display:inline-flex;background:#e2e8f0;padding:.25rem;border-radius:999px}.view-btn{padding:.55rem .95rem;border-radius:999px;background:transparent;color:#475569}.view-btn.active,.primary{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff}.secondary,.ghost,.danger{border-radius:.9rem;padding:.72rem .95rem}.secondary{background:#e2e8f0;color:#0f172a}.ghost{background:transparent;color:#475569}.danger{background:#fee2e2;color:#991b1b}.small{padding:.5rem .75rem}.collapse-toggle{min-width:3.6rem}.tiny{padding:.2rem .35rem;font-size:.82rem}.danger-text{color:#b91c1c}.label-row,.journey-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.journey-main{min-width:0}.journey-meta,.journey-range{margin:.2rem 0 0;color:#64748b;font-size:.88rem}.country-legend-list{display:grid;gap:.5rem}.recurring-events-list,.traveller-extras-box{display:grid;gap:.55rem}.recurring-event-row{display:grid;gap:.15rem;padding:.55rem .7rem;border-radius:.85rem;background:#ffffffb3;border:1px solid rgba(148,163,184,.18)}.recurring-event-button{width:100%;text-align:left}.recurring-event-row span{color:#64748b;font-size:.88rem}.country-legend-row{display:flex;align-items:center;gap:.6rem;font-size:.92rem}.toggle-row{display:inline-flex;align-items:center;gap:.65rem;color:#0f172a}.toggle-row input{width:auto;margin:0}.helper-text{margin:0;color:#64748b;font-size:.88rem}.toggle-row-with-info{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.info-bubble{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.info-icon{width:1.25rem;height:1.25rem;border-radius:999px;display:inline-grid;place-items:center;font-size:.78rem;font-weight:700;color:#334155;background:#e2e8f0}.info-tooltip{position:absolute;top:calc(100% + .45rem);right:0;width:18rem;padding:.65rem .75rem;border-radius:.85rem;background:#0f172a;color:#fff;font-size:.82rem;line-height:1.45;opacity:0;pointer-events:none;transform:translateY(-.15rem);transition:opacity .12s ease,transform .12s ease;z-index:5}.info-bubble:hover .info-tooltip,.info-bubble:focus-within .info-tooltip{opacity:1;transform:translateY(0)}.risk-detail-box{display:grid;gap:.35rem;padding:.65rem .75rem;border-radius:.9rem;background:#fef2f2d9;border:1px solid rgba(220,38,38,.18)}.risk-detail-row{display:flex;justify-content:space-between;gap:.75rem;font-size:.9rem}.week-day-header-button,.day-heading-button{cursor:pointer}.country-swatch{width:1rem;height:1rem;border-radius:999px;border:1px solid rgba(15,23,42,.12);flex:0 0 auto}.label-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .8rem;border-radius:999px;border:2px solid transparent;background:color-mix(in oklab,white 72%,var(--chip-color) 28%);color:#0f172a}.label-list .label-chip{padding-top:.28rem;padding-bottom:.28rem}.label-chip.active{border-color:var(--chip-color)}.label-chip.disabled,.label-chip:disabled{opacity:.45;filter:grayscale(.35);cursor:not-allowed}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.35rem}.journey-visibility{display:flex;align-items:center;gap:.65rem}.week-day-actions,.month-cell-actions{display:flex;align-items:center;gap:.5rem}.hidden-input{display:none}.today-pill{display:inline-flex;align-items:center;padding:.28rem .65rem;border-radius:999px;background:#0f172a14;font-size:.82rem}.small-pill{font-size:.72rem}.day-heading,.week-day,.month-cell,.mini-day,.entry-card,.compact-entry,.month-chip,.more-chip,.scope-box,.recurrence-box{border-radius:1rem}.day-heading,.week-day,.month-cell{border:1px solid rgba(148,163,184,.25)}.day-heading{padding:1rem;margin-bottom:.9rem}.entry-card,.compact-entry,.month-chip{border-left:6px solid #cbd5e1;padding:.9rem;background:#fffc;text-align:left}.entry-card{display:grid;gap:.28rem}.compact-entry,.month-chip{padding:.55rem .7rem}.month-chip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem}.entry-card span,.month-chip,.more-chip{color:#475569}.week-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);overflow-x:auto;gap:.85rem}.week-day{padding:.85rem;min-height:24rem}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.65rem}.month-weekdays{margin-bottom:.65rem}.weekday-head,.mini-weekdays{color:#64748b;font-size:.85rem}.month-cell{min-height:8.5rem;padding:.65rem;text-align:left}.month-cell-events{display:grid;gap:.35rem;margin-top:.6rem}.more-chip{padding:.45rem .6rem;background:#ffffffb8}.year-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.mini-month-head{font-weight:700;margin-bottom:.7rem}.mini-month-button,.mini-day-button{border:none;background:transparent;width:100%;text-align:inherit;cursor:pointer}.mini-weekdays,.mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.28rem}.mini-day{display:grid;place-items:center;min-height:2rem;font-size:.78rem;border:1px solid rgba(148,163,184,.15)}.muted{opacity:.45}.today-outline{outline:2px solid #4f46e5;outline-offset:-2px}.filter-outline{box-shadow:inset 0 0 0 2px #111827}.risk-outline{box-shadow:inset 0 0 0 2px #dc2626}.risk-outline.filter-outline{box-shadow:inset 0 0 0 2px #dc2626,inset 0 0 0 4px #111827}.modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:grid;place-items:center;padding:1rem;z-index:1000}.journey-backdrop{z-index:1000}.detail-backdrop{z-index:1100}.entry-backdrop{z-index:1200}.modal{width:min(960px,100%);max-height:90vh;overflow:auto}.modal-medium{width:min(760px,100%)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.datetime-stack{display:grid;gap:.75rem}.datetime-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.datetime-row--allday{grid-template-columns:minmax(0,1fr)}.full-width{grid-column:1 / -1}label{display:grid;gap:.35rem}.checkbox-row{display:flex;align-items:center;gap:.6rem}.checkbox-row input,.journey-visibility input{width:auto}.weekdays-picker{display:flex;flex-wrap:wrap;gap:.4rem}.weekday-btn{padding:.5rem .75rem;border-radius:999px;background:#e2e8f0;color:#334155}.weekday-btn.active{background:#c7d2fe;color:#312e81}.scope-box,.recurrence-box{padding:.9rem;background:#f8fafcf2;border:1px solid #e2e8f0}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:1rem 0}.top-gap{margin-top:1rem}.compact-list .entry-card{width:100%}@media(max-width:1100px){.layout{grid-template-columns:1fr}.sidebar{position:static}.year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.app-shell{padding:.75rem}.topbar,.calendar-toolbar,.toolbar-left,.toolbar-right,.label-row,.journey-row,.section-header,.modal-head,.modal-actions,.detail-grid,.form-grid{grid-template-columns:1fr;display:grid}.month-grid,.year-grid,.datetime-row{grid-template-columns:1fr}.month-weekdays{display:none}.month-cell{min-height:6.5rem}.calendar-name-button,.calendar-name-input{font-size:1.55rem}.toggle-row-with-info{align-items:flex-start}.info-tooltip{right:auto;left:0;width:min(16rem,80vw)}}.inline-after-list{margin-top:.75rem}.month-day-button,.month-chip-button{width:100%;text-align:left;border:none}.month-day-button{background:transparent;padding:0;font-weight:700;color:inherit}.month-chip-button{cursor:pointer}.more-chip-button{width:100%;border:none;text-align:left;cursor:pointer}.secondary-label-list{display:flex;flex-wrap:wrap;gap:.45rem}.datetime-preview{color:#475569;font-size:.9rem}
