:root{--bg:#f8fafc;--card:rgba(255,255,255,.92);--text:#0f172a;--muted:#475569;--line:rgba(15,23,42,.14);--accent:#2563eb;--ok:#059669;--bad:#dc2626}body,html{height:100%;background:var(--bg)}@media screen{.print-workspace-print-only{position:absolute;left:-12000px;top:0;width:190mm;max-width:calc(100vw - 24px);visibility:hidden;pointer-events:none;z-index:-1}}@media print{@page{size:A4 portrait;margin:8mm}body,html{background:#fff!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.no-print-chrome,.print-workspace-no-print,.tl-day-tabs{display:none!important}.wrap{max-width:none!important;padding:0!important;margin:0!important}.print-export-page-host{border:none!important;box-shadow:none!important;background:transparent!important;padding:0!important}.print-workspace-print-only{position:static!important;left:auto!important;top:auto!important;width:auto!important;max-width:none!important;visibility:visible!important;z-index:auto!important;display:block!important}.print-page-break-after{page-break-after:always;break-after:page}.print-day-heading{margin:0 0 6px;font-size:13pt;font-weight:800}.print-a4-sheet{max-width:190mm;margin:0 auto}.print-timeline-fit{max-width:100%;overflow:visible}.print-timeline-print-scale-inner{display:block;min-width:0}.print-timeline-fit .lanes{max-width:100%!important;overflow:visible!important}.tl-print-screen-scale .lanesInner{transform-origin:top left}}@media screen{.tl-print-screen-scale{max-width:100%}.tl-print-screen-scale .lanesInner{transform-origin:top left}}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:12px;line-height:1.4;min-height:100vh;background-color:var(--bg);background-image:radial-gradient(1200px 600px at 20% 0,rgba(37,99,235,.1),transparent 60%),radial-gradient(900px 500px at 90% 10%,rgba(5,150,105,.08),transparent 60%);background-repeat:no-repeat;background-attachment:fixed;background-size:cover;color:var(--text)}h2{font-size:16px}h2,h3{line-height:1.3}h3{font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1100px;margin:0 auto;padding:28px 18px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.brand{font-weight:800;letter-spacing:.2px}.chip{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:6px 10px;border-radius:999px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 18px 48px rgba(15,23,42,.1)}.grid{grid-gap:14px}.grid,.grid2{display:grid;gap:14px}.grid2{grid-template-columns:1fr 1fr;grid-gap:14px}.grid2>*{min-width:0}@media (max-width:900px){.grid2{grid-template-columns:1fr}}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.error{color:var(--bad)}.ok{color:var(--ok)}button,input,select,textarea{font:inherit}input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{width:100%;background:rgba(255,255,255,.98);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:10px 12px;outline:none}textarea{min-height:120px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:rgba(96,165,250,.6);box-shadow:0 0 0 4px rgba(96,165,250,.15)}button{border:1px solid var(--line);background:rgba(37,99,235,.1);color:var(--text);font-size:12px;padding:10px 14px;border-radius:12px;cursor:pointer}button:hover{background:rgba(37,99,235,.16)}button.secondary{background:rgba(15,23,42,.04)}.tl-style-line{display:grid;grid-template-columns:minmax(140px,1.1fr) repeat(4,minmax(120px,1fr));align-items:end;grid-gap:10px;gap:10px;width:100%}.tl-style-line>label{display:grid;grid-gap:6px;gap:6px;align-content:start}.tl-section-divider{border-top:1px solid var(--line);margin:10px 0}.tl-title-row{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(320px,3fr);align-items:center;grid-gap:10px;gap:10px;width:100%}@media (max-width:980px){.tl-style-line{grid-template-columns:repeat(2,minmax(160px,1fr))}.tl-title-row{grid-template-columns:1fr;align-items:stretch}}.events-editor-form-grid{grid-template-columns:1fr;gap:12px}.events-editor-pane input,.events-editor-pane select,.events-editor-pane textarea{border-radius:12px}.events-editor-pane input:not([type=checkbox]):not([type=range]):not([type=color]){width:100%;background:rgba(255,255,255,.98);border:1px solid var(--line);color:var(--text);padding:10px 12px;box-sizing:border-box}.events-editor-pane input[type=color]{border-radius:12px;border:1px solid var(--line)}.excel-upload-card{gap:10px}.excel-upload-input{width:100%;box-sizing:border-box;background:rgba(255,255,255,.98);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:10px 12px;min-height:42px}.excel-upload-input[type=file]{padding:8px 10px}.timelineBoard{position:relative}.timelineBoardResize{height:14px;margin-top:4px;cursor:ns-resize;border-radius:8px;background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.28)}.timelineBoardResize:hover{background:rgba(37,99,235,.14)}.timelineWrap{display:flex;gap:6px;min-height:0}.timeCol{width:40px;flex:0 0 40px}.timeTick{height:120px;position:relative;border-top:1px dashed rgba(255,255,255,.1)}.timeLabel{position:absolute;top:-9px;right:4px;font-size:var(--tl-mark-font-px,11px);color:var(--tl-mark-color,var(--muted));text-align:right}.lanes{flex:1 1 auto;border:1px solid rgba(15,23,42,.12);border-radius:14px;overflow-y:auto;overflow-x:auto;background:var(--tl-lanes-bg,rgba(15,23,42,.02))}.lanes,.lanesInner{position:relative}.laneGridLine{height:0;border-top:1px dashed var(--tl-mark-line-color,rgba(15,23,42,.12));pointer-events:none}.laneCols,.laneGridLine{position:absolute;left:0;right:0}.laneCols{top:0;bottom:0;display:grid}.eventBlock{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;padding:8px 10px;border-radius:12px;border:1px solid var(--tl-event-border,rgba(37,99,235,.22));background:var(--tl-event-bg,rgba(37,99,235,.08));box-shadow:0 12px 32px rgba(15,23,42,.12);overflow:hidden}.eventTitle{font-weight:var(--tl-title-font-weight,700);font-style:var(--tl-title-font-style,normal);font-size:var(--tl-title-font-px,13px);color:var(--tl-title-color,#0f172a);line-height:1.2}.eventMeta{margin-top:6px;font-size:11px;color:var(--muted)}.eventFormat{margin-top:6px;font-size:var(--tl-format-font-px,11px);font-weight:var(--tl-format-font-weight,400);font-style:var(--tl-format-font-style,normal);color:var(--tl-format-color,var(--muted))}.eventTime{margin-top:6px;font-size:var(--tl-time-font-px,11px);font-weight:var(--tl-time-font-weight,400);font-style:var(--tl-time-font-style,normal);color:var(--tl-time-color,var(--muted))}.eventDesc{margin-top:6px;font-size:var(--tl-desc-font-px,12px);font-weight:var(--tl-desc-font-weight,400);font-style:var(--tl-desc-font-style,normal);color:var(--tl-desc-color,var(--text));line-height:1.25;opacity:.92}.eventExtra{margin-top:4px;line-height:1.3;opacity:.95}.eventExtra--teamLead{font-size:var(--tl-teamlead-font-px,11px);font-weight:var(--tl-teamlead-font-weight,500);font-style:var(--tl-teamlead-font-style,normal);color:var(--tl-teamlead-color,#475569)}.eventExtra--responsibles{font-size:var(--tl-responsibles-font-px,11px);font-weight:var(--tl-responsibles-font-weight,500);font-style:var(--tl-responsibles-font-style,normal);color:var(--tl-responsibles-color,#475569)}.eventExtra--vks{font-size:var(--tl-vks-font-px,11px);font-weight:var(--tl-vks-font-weight,500);font-style:var(--tl-vks-font-style,normal);color:var(--tl-vks-color,#475569)}.eventExtra--translation{font-size:var(--tl-translation-font-px,11px);font-weight:var(--tl-translation-font-weight,500);font-style:var(--tl-translation-font-style,normal);color:var(--tl-translation-color,#475569)}.eventExtra--interpretation{font-size:var(--tl-interpretation-font-px,11px);font-weight:var(--tl-interpretation-font-weight,500);font-style:var(--tl-interpretation-font-style,normal);color:var(--tl-interpretation-color,#475569)}.eventExtra--volunteers{font-size:var(--tl-volunteers-font-px,11px);font-weight:var(--tl-volunteers-font-weight,500);font-style:var(--tl-volunteers-font-style,normal);color:var(--tl-volunteers-color,#475569)}.eventPlace{margin-top:auto;font-size:var(--tl-place-font-px,11px);font-weight:var(--tl-place-font-weight,400);font-style:var(--tl-place-font-style,normal);color:var(--tl-place-color,var(--muted));opacity:.95}.eventBlock.tiny{padding:6px 8px}.eventBlock.tiny .eventTitle{font-size:12px}.eventBlock.tiny .eventMeta{margin-top:4px}