:root{--bg:#f6f5f2;--surface:#fff;--surface-2:#faf9f7;--ink:#1d1c1a;--ink-2:#4a4843;--muted:#7a776f;--line:#e4e2dc;--line-2:#efede8;--accent:#0f6b5c;--accent-ink:#fff;--accent-soft:#e3f1ee;--warn:#9a5b00;--warn-soft:#fff4dc;--danger:#b42318;--danger-soft:#fdecea;--info-soft:#eaf1fb;--radius:10px;--shadow:0 1px 2px #14120e0d, 0 4px 16px #14120e0a;--font:"Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.01em;margin:0;font-size:22px}h2{margin:0;font-size:16px}h3{margin:0;font-size:14px}.muted{color:var(--muted)}.small{font-size:12px}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.mono{font-family:var(--mono);font-size:12px}.app{grid-template-columns:220px 1fr;min-height:100%;display:grid}.sidebar{color:#d9e3e0;background:#1f2a28;flex-direction:column;gap:4px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.brand{color:#fff;letter-spacing:.01em;padding:4px 10px 18px;font-size:15px;font-weight:700}.brand small{color:#8fa7a1;font-size:12px;font-weight:400;display:block}.nav a{color:#d9e3e0;border-radius:8px;padding:8px 10px;display:block}.nav a:hover{background:#ffffff0f;text-decoration:none}.nav a.active{color:#fff;background:#ffffff1f;font-weight:600}.sidebar .spacer{flex:1}.sidebar button.link{color:#8fa7a1}.main{min-width:0;padding:24px 28px 64px}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.page-head .grow{flex:1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:16px 18px}.card-head{border-bottom:1px solid var(--line-2);align-items:center;gap:10px;padding:12px 18px;display:flex}.card-head .grow{flex:1}label.field{color:var(--ink-2);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;padding:7px 10px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}textarea{resize:vertical}.grid{gap:12px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g6{grid-template-columns:repeat(6,minmax(0,1fr))}.span2{grid-column:span 2}.span3{grid-column:span 3}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.check{color:var(--ink-2);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-weight:600;display:inline-flex}button:hover{background:var(--surface-2)}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.primary:hover{filter:brightness(1.08)}button.danger{color:var(--danger)}button.ghost{background:0 0;border-color:#0000}button.ghost:hover{background:var(--line-2)}button.link{color:var(--accent);background:0 0;border:0;padding:0;font-weight:500}button.sm{padding:4px 8px;font-size:12px}a.button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-weight:600;display:inline-flex}a.button:hover{background:var(--surface-2);text-decoration:none}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);background:var(--surface-2);padding:8px 10px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--line-2);vertical-align:top;padding:8px 10px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--surface-2)}tr.selected td{background:var(--accent-soft)!important}.table-wrap{overflow-x:auto}.badge{background:var(--line-2);color:var(--ink-2);white-space:nowrap;border-radius:99px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.badge.accommodation{color:#2b4c8c;background:#e8eefb}.badge.activity{color:#0f6b5c;background:#e3f1ee}.badge.transport{color:#6b3f99;background:#f3ebfa}.badge.meal{color:#9a4d0a;background:#fdf0e6}.badge.guide{color:#4d6b1f;background:#eef4e4}.badge.misc{background:var(--line-2);color:var(--ink-2)}.badge.warn,.badge.legacy{background:var(--warn-soft);color:var(--warn)}.badge.status-draft{background:var(--line-2)}.badge.status-sent{background:var(--info-soft);color:#2b4c8c}.badge.status-confirmed{background:var(--accent-soft);color:var(--accent)}.badge.status-cancelled{background:var(--danger-soft);color:var(--danger)}.alert{border-radius:8px;padding:8px 12px;font-size:13px}.alert.warn{background:var(--warn-soft);color:#6b4000}.alert.error{background:var(--danger-soft);color:var(--danger)}.alert.info{background:var(--info-soft);color:#23406f}.alert ul{margin:4px 0 0;padding-left:18px}.editor{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.sticky{position:sticky;top:20px}.day-block{border-top:1px solid var(--line)}.day-head{background:var(--surface-2);align-items:baseline;gap:10px;padding:10px 18px 6px;display:flex}.day-head b{font-size:13px}.item-row{border-top:1px solid var(--line-2);grid-template-columns:78px minmax(0,1fr) auto 64px;align-items:start;gap:12px;padding:9px 14px 9px 18px;display:grid}.item-row:hover{background:var(--surface-2)}.item-row .desc{font-weight:500}.item-row .sub{color:var(--muted);font-size:12px}.item-row .actions{opacity:.35;justify-content:flex-end;gap:2px;display:flex}.item-row:hover .actions{opacity:1}.add-bar{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:12px 18px;display:flex}.sum-line{justify-content:space-between;gap:10px;padding:4px 0;display:flex}.sum-line.total{border-top:1px solid var(--line);margin-top:6px;padding-top:8px;font-size:15px;font-weight:700}.occ-table td,.occ-table th{padding:6px 8px}.big{font-size:18px;font-weight:700}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:-8px;display:flex}.tabs button{color:var(--ink-2);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:8px 14px}.tabs button:hover{color:var(--ink);background:0 0}.tabs button.active{border-bottom-color:var(--accent);color:var(--accent)}.drawer-backdrop{z-index:40;background:#14120e47;position:fixed;inset:0}.drawer{background:var(--surface);z-index:41;flex-direction:column;width:min(760px,100vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 32px #0000001f}.drawer-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 20px;display:flex}.drawer-head .grow{flex:1}.drawer-body{flex-direction:column;flex:1;gap:14px;padding:16px 20px;display:flex;overflow:auto}.drawer-foot{border-top:1px solid var(--line);background:var(--surface-2);justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px;display:flex}.drawer-foot .grow{flex:1}.list{border:1px solid var(--line);border-radius:8px;max-height:300px;overflow:auto}.list .opt{border-bottom:1px solid var(--line-2);cursor:pointer;align-items:baseline;gap:10px;padding:8px 12px;display:flex}.list .opt:hover{background:var(--surface-2)}.list .opt.sel{background:var(--accent-soft)}.list .opt .grow{flex:1;min-width:0}.notes{white-space:pre-wrap;background:var(--warn-soft);color:#5c3b00;border-radius:8px;padding:8px 12px;font-size:12px}.login-wrap{place-items:center;min-height:100%;padding:16px;display:grid}.login{width:min(360px,100%)}.empty{text-align:center;color:var(--muted);padding:36px}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.editor{grid-template-columns:1fr}.sticky{position:static}}@media (width<=760px){.app{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;height:auto;padding:10px 12px;position:static}.brand{padding:0 8px 0 0}.nav{gap:4px;display:flex}.sidebar .spacer{display:none}.main{padding:16px}.g3,.g4,.g6{grid-template-columns:repeat(2,minmax(0,1fr))}.item-row{grid-template-columns:minmax(0,1fr) auto}.item-row>:first-child,.item-row>:nth-child(4){display:none}}.dialog{z-index:61;background:var(--surface);border-radius:var(--radius);width:min(440px,100vw - 32px);padding:20px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 48px #00000038}button.danger-fill{background:var(--danger);border-color:var(--danger);color:#fff}.day-head .day-title{color:var(--ink-2);text-align:right;margin-left:auto;font-weight:600}.item-row.free-day .desc{color:var(--muted);font-weight:500}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chip .n{opacity:.6;margin-left:4px;font-weight:500}
