@charset "UTF-8";

/*
 * Internal sections:
 * 1. Base, layout and board
 * 2. Components and vision layer
 * 3. Full-screen and print
 * 4. Responsive adjustments
 * 5. Internationalization (LTR / RTL)
 */

/* === Core application styles === */
:root{--bg:#f6f7fb;--surface:#fff;--surface2:#fafafa;--text:#172033;--muted:#667085;--border:#d8dee9;--accent:#ff7a00;--soft:#fff1e5;--danger:#c03744;--wa:#25d366;--shadow:0 14px 30px rgba(16,24,40,.12);--radius:18px}
html.i18n-pending body{visibility:hidden}
.item a,.item a:visited{color:#e34b1b;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.item a:hover,.item a:focus{color:#bf2f12}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(255,122,0,.12),transparent 26rem),var(--bg);font-family:Arial,"Noto Sans Hebrew",sans-serif;color:var(--text);line-height:1.55}button,input,select{font:inherit}button{cursor:pointer;border:0}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);border-bottom:1px solid var(--border);backdrop-filter:blur(14px)}.header-inner{max-width:1100px;margin:auto;padding:10px 16px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}.logo-link{justify-self:start}.logo-link img{height:30px;display:block}.header-mini-title{text-align:center;margin:0;color:#323b4d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{justify-self:end;display:flex;gap:8px;align-items:center;position:relative}.icon-btn,.tool-btn,.btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:12px;min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;}.icon-btn:hover,.tool-btn:hover,.btn:hover{background:var(--soft);border-color:#ffc58b}.whatsapp{background:var(--wa);color:#fff;border-color:var(--wa)}.whatsapp svg{width:20px;height:20px;fill:currentColor}.menu-popover{width:min(240px,calc(100vw - 24px));padding:8px}.menu-list{display:grid;gap:4px}.menu-item{width:100%;display:flex;align-items:center;gap:7px;text-align:right;background:#fff;border:1px solid transparent;border-radius:10px;padding:7px 9px;color:var(--text);font-weight:700;font-size:.9rem;line-height:1.25;min-height:34px}.menu-item:hover{background:var(--soft);border-color:#ffc58b}.menu-item span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-icon{width:22px;height:22px;min-width:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:#f7f7f7;color:var(--accent);font-size:.86rem}.menu-icon svg{width:15px;height:15px;fill:var(--wa)}.settings-popover{position:absolute;left:0;top:48px;width:min(360px,calc(100vw - 24px));display:none;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:16px;z-index:80}.settings-popover.open{display:block}.settings-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}.settings-popover h2{font-size:1.1rem;margin:0}.settings-close{width:34px;height:34px;min-width:34px;border-radius:10px;color:var(--muted);background:#fff}.settings-close:hover{background:var(--soft);color:var(--text)}.settings-block{padding-top:3px;margin-top:3px}.settings-block:first-of-type{border-top:0;margin-top:0;padding-top:0}.settings-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin:8px 0}.settings-row.triple{grid-template-columns:1fr 1fr 1fr}.settings-row label{font-weight:700}.time-settings-panel[hidden]{display:none!important}.time-options label{font-weight:400}.settings-row input,.settings-row select{width:100%;border:1px solid var(--border);border-radius:10px;padding:8px;background:#fff}.settings-control{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fafafa;border:1px solid var(--border);border-radius:14px;padding:10px 12px;margin:8px 0;font-weight:700}.settings-control input[type=checkbox]{width:auto;min-width:18px;height:18px;margin:0;accent-color:var(--accent)}.settings-input-only{display:block;margin:8px 0}.settings-input-only input{width:100%;border:1px solid var(--border);border-radius:10px;padding:8px;background:#fff}.settings-block .btn.primary{width:100%;justify-content:center;margin-top:8px}.settings-actions{display:flex;gap:8px;flex-wrap:wrap}.settings-actions .btn{flex:1;justify-content:center}.settings-note{margin:6px 0 0;color:var(--muted);font-size:.86rem}.days-settings{margin-top:8px}.days-preview{margin-top:5px;color:var(--muted);font-size:.82rem}.days-settings .settings-row{grid-template-columns:1fr 1fr}.hidden-slots{max-height:190px;overflow:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.period-options{max-height:360px;grid-template-columns:1fr}.period-option{display:block!important}.period-option-main{display:flex;align-items:center;gap:7px;font-weight:700}.period-time-controls{margin-top:8px;padding:8px;border-top:1px solid var(--border);display:none}.period-option.has-hours .period-time-controls{display:block}.period-time-controls .settings-row.triple{margin:6px 0}.period-hidden-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;max-height:120px;overflow:auto;margin-top:6px}.period-hidden-slots label{font-weight:400!important;font-size:.82rem;padding:5px}.period-sub-label{display:block;font-size:.78rem;color:#667085;font-weight:700;margin-top:2px}.hidden-slots label{display:flex;gap:5px;align-items:center;font-size:.86rem;background:#fafafa;border:1px solid var(--border);border-radius:10px;padding:6px}.btn{height:auto;padding:9px 12px;min-width:0}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.soft{background:var(--soft);color:#7a3b00;border-color:#ffd0a3}.btn.danger{background:#fff0f3;color:var(--danger);border-color:#ffc8d1}.link-danger{appearance:none;background:none;border:0;color:var(--danger);text-decoration:underline;font-size:.86rem;font-weight:400;padding:4px 0;height:auto;min-width:0;border-radius:0}.link-danger:hover{background:transparent;color:#8a1f2c;text-decoration:none}.status-box{display:flex;gap:7px;align-items:baseline;justify-content:center;background:#fafafa;border:1px solid var(--border);border-radius:14px;padding:10px}main{max-width:1100px;margin:auto;padding:24px 8px}.board-head{display:flex;justify-content:center;margin-bottom:14px}.editable-title{color:#515151;font-size:clamp(1.55rem,4vw,1.8rem);line-height:1.2;text-align:center;margin:0;outline:0;padding:0;min-width:min(560px,100%)}.editable-title:focus{background:#fff;border:1px solid var(--border);box-shadow:0 0 0 4px rgba(255,122,0,.12)}.board-wrap{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:0 18px 35px rgba(16,24,40,.08);overflow:auto;padding:0;position:relative}.week-grid{display:grid;grid-template-columns:repeat(var(--day-count,7),minmax(130px,1fr));direction:rtl;margin:0;padding:0;border-spacing:0}.week-grid.time-mode{grid-template-columns:76px repeat(var(--day-count,7),minmax(130px,1fr));overflow:visible;grid-auto-rows:min-content}.day-head,.time-head,.time-label{background:#fff7ed;border-bottom:1px solid var(--border);border-inline-start:1px solid var(--border);text-align:center;padding:8px 6px;margin:0;position:sticky;top:0;z-index:4;min-height:0;line-height:1.2}.time-head{right:0;z-index:5}.time-label{background:#fafafa;color:#475467;position:sticky;right:0;z-index:2;border-bottom:1px solid var(--border);min-height:30px;display:flex;align-items:center;justify-content:center;padding:3px 6px}.day-cell,.time-cell,.period-cell{min-height:360px;border-inline-start:1px solid var(--border);border-bottom:1px solid var(--border);padding:0;background:#fff}.time-cell{min-height:30px}.period-cell{min-height:110px}.period-label{min-height:110px}.slot{min-height:100%;padding:0;margin:0;display:flex;flex-direction:column;gap:0}.time-cell .slot{min-height:30px}.period-cell .slot{min-height:110px}.slot.empty::before{content:"";display:none}.item{position:relative;background:transparent;border:0;margin:0;padding:3px 6px;border-radius:0;min-height:22px;word-break:break-word;outline:0;touch-action:auto;user-select:text;-webkit-user-select:text;cursor:text}.item:hover,.item.editing{background:#fff;box-shadow:0 0 0 1px rgba(255,122,0,.22)}.item-drag-zone{position:absolute;left:0;top:0;bottom:0;width:16px;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none;opacity:0;display:flex;align-items:center;justify-content:center;color:#98a2b3;font-size:14px;line-height:1}.item-drag-zone::before{content:"⋮"}.item:hover .item-drag-zone,.item.editing .item-drag-zone{opacity:.65}.item-drag-zone:hover{opacity:1;background:rgba(255,122,0,.08)}.item-drag-zone:active{cursor:grabbing}.item.dragging{opacity:.35}.item img.inline-img{height:auto;max-height:40px;width:auto;max-width:100%;object-fit:contain;vertical-align:middle;border-radius:8px}.time-badge{display:inline-block;color:#667085;font-size:.78rem;margin-inline-start:5px}.floating-toolbar{position:absolute;display:none;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:8px;z-index:70;width:min(292px,calc(100vw - 20px));gap:6px;overflow:hidden;min-height:88px}.floating-toolbar.open{display:grid}.toolbar-row{display:flex;gap:6px;align-items:center;justify-content:flex-start;flex-wrap:wrap}.toolbar-row-primary{border-bottom:1px solid #edf0f5;padding-bottom:6px}.tool-btn{min-width:32px;height:32px;border-radius:10px;font-size:.9rem;transition:background .15s,border-color .15s,transform .15s}.tool-btn:hover{transform:translateY(-1px)}.tool-btn.danger{color:var(--danger)}.tool-btn.bold{font-weight:900}.text-color-btn span{font-size:1rem;line-height:1;border-bottom:3px solid var(--accent);padding:0 1px 2px}.bg-color-btn span{width:17px;height:17px;border-radius:4px;background:linear-gradient(135deg,#fff7ed 0 49%,#ffbd7a 50% 100%);border:1px solid #e27a22;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}.floating-char-count{position:absolute;display:none;z-index:69;font-size:.76rem;color:var(--muted);background:rgba(255,255,255,.94);border:1px solid var(--border);border-radius:999px;padding:2px 8px;box-shadow:0 6px 14px rgba(16,24,40,.08);line-height:1.3;pointer-events:none}.floating-char-count.open{display:block}.palette-popover{display:none;position:absolute;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:7px;gap:5px;grid-template-columns:repeat(4,24px);z-index:90}.palette-popover.open{display:grid}.toolbar-color-menu,.toolbar-icon-menu{position:relative;display:inline-flex}.swatch{width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.18)}.icon-popover{grid-template-columns:repeat(5,30px)}.icon-choice{font-size:18px;background:#fff;border:1px solid var(--border);border-radius:8px;width:30px;height:30px}.toolbar-panel{display:none;position:absolute;inset:0;background:#fff;border-radius:16px;z-index:3;padding:10px;grid-template-rows:auto 1fr;gap:8px}.toolbar-panel.open{display:grid}.toolbar-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:900}.toolbar-panel-title{font-size:.9rem;color:#172033;display:flex;align-items:center;gap:6px}.toolbar-panel-title::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}.toolbar-panel-close{width:28px;height:28px;min-width:28px;border-radius:9px;background:#f7f7f7;color:var(--muted);font-weight:900}.toolbar-panel-close:hover{background:var(--soft);color:var(--text)}.toolbar-panel-body{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;overflow:auto;padding:2px}.toolbar-panel-body .swatch{width:24px;height:24px;border:1px solid rgba(0,0,0,.14);box-shadow:none}.toolbar-panel-body .swatch:hover{outline:2px solid rgba(255,122,0,.22);outline-offset:2px}.toolbar-panel-body .icon-choice{width:36px;height:36px;font-size:20px;box-shadow:none;background:#f8f8f8;border:0}.toolbar-panel-body .icon-choice:hover{background:var(--soft)}.color-panel-body{position:relative;display:grid;grid-template-rows:1fr 1fr;align-content:stretch;gap:6px;height:100%;padding:0 26px 0 0}.color-panel-row{display:grid;grid-template-columns:18px 1fr;gap:6px;align-items:center;min-height:0}.color-panel-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.72rem;color:#475467;text-align:center;justify-self:end;line-height:1}.color-swatches{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;min-width:0}.color-swatches .swatch{width:20px;height:20px}.color-panel-close{position:absolute;top:0;left:0;width:26px;height:26px;min-width:26px;border-radius:8px;background:#f7f7f7;color:var(--muted);z-index:2}.toast{position:fixed;bottom:20px;right:20px;z-index:90;background:#172033;color:#fff;padding:10px 14px;border-radius:14px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);transition:.2s}.toast.show{opacity:1;transform:none}.help-panel{margin-top:16px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:10px 16px}.help-panel summary{cursor:pointer}.help-content{color:#475467}.site-footer{border-top:1px solid var(--border);background:#fff}.footer-inner{max-width:1100px;margin:auto;padding:18px 16px;display:flex;gap:12px;justify-content:center;color:#667085}.footer-inner a{color:#172033;font-weight:700}@media(max-width:760px){.header-inner{grid-template-columns:auto auto;grid-template-areas:"logo actions" "title title"}.logo-link{grid-area:logo}.header-actions{grid-area:actions}.header-mini-title{grid-area:title}.week-grid:not(.time-mode){grid-template-columns:1fr}.day-head{position:static}.day-cell{min-height:190px}.week-grid.time-mode{grid-template-columns:64px repeat(var(--day-count,7),minmax(115px,1fr))}.day-head,.time-head{top:0}.floating-toolbar{position:fixed!important;right:10px!important;left:10px!important;top:auto!important;bottom:12px!important;width:auto}.settings-row.triple{grid-template-columns:1fr}.hidden-slots{grid-template-columns:repeat(2,1fr)}.period-hidden-slots{grid-template-columns:repeat(2,1fr)}}.print-logo{display:none}
.board-stage{position:relative;overflow:visible}.board-stage::after{content:"";display:block;height:0}.board-wrap{position:relative;z-index:1}.week-grid{position:relative;z-index:1}.vision-layer{position:absolute;top:0;left:0;z-index:3;pointer-events:none;min-width:0;min-height:0;width:100%;height:100%;overflow:visible}.vision-item{position:absolute;box-sizing:border-box;pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:28px;padding:6px 8px;border:1px dashed transparent;border-radius:12px;background:rgba(255,255,255,.02);cursor:move;user-select:none;touch-action:none;transform-origin:center center;line-height:1.25;text-align:center;word-break:break-word}.vision-item:hover,.vision-item.selected{border-color:rgba(255,122,0,.7);background:rgba(255,255,255,.18);box-shadow:0 8px 18px rgba(16,24,40,.12)}.vision-item.vision-image{padding:0;border-radius:8px;overflow:visible}.vision-item img{max-width:none;width:100%;height:100%;display:block;pointer-events:none;object-fit:fill;border-radius:6px}.vision-resize-handle{position:absolute;width:16px;height:16px;background:#fff;border:1px solid var(--accent);border-radius:50%;box-shadow:0 2px 8px rgba(16,24,40,.18);z-index:2}.vision-resize-handle.n{top:-8px;left:50%;transform:translateX(-50%);cursor:ns-resize}.vision-resize-handle.s{bottom:-8px;left:50%;transform:translateX(-50%);cursor:ns-resize}.vision-resize-handle.e{right:-8px;top:50%;transform:translateY(-50%);cursor:ew-resize}.vision-resize-handle.w{left:-8px;top:50%;transform:translateY(-50%);cursor:ew-resize}.vision-resize-handle.ne{right:-8px;top:-8px;cursor:nesw-resize}.vision-resize-handle.nw{left:-8px;top:-8px;cursor:nwse-resize}.vision-resize-handle.se{right:-8px;bottom:-8px;cursor:nwse-resize}.vision-resize-handle.sw{left:-8px;bottom:-8px;cursor:nesw-resize}.vision-item:not(.selected):not(:hover) .vision-resize-handle{display:none}.vision-text{font-size:1.08rem}.vision-symbol{font-size:2rem}.vision-toolbar{position:absolute;display:none;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:8px;z-index:95;width:min(330px,calc(100vw - 20px));gap:6px}.vision-toolbar.open{display:grid}.vision-toolbar .toolbar-row{justify-content:flex-start}.vision-toolbar label{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:5px}.vision-toolbar input[type=range]{width:92px}.vision-form{display:grid;gap:8px}.vision-form input[type=text]{width:100%;border:1px solid var(--border);border-radius:10px;padding:8px;background:#fff}.vision-form-row{display:flex;gap:8px;align-items:center}.vision-form-row .btn{flex:1}.vision-symbols{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.vision-symbols button{height:34px;border:1px solid var(--border);border-radius:10px;background:#fff;font-size:18px}.vision-symbols button:hover{background:var(--soft)}

/* Full-screen display mode: show only the printable board area */
body.fullscreen-display{background:#fff!important;overflow:auto!important}
body.fullscreen-display .site-header,
body.fullscreen-display .settings-popover,
body.fullscreen-display .floating-toolbar,
body.fullscreen-display .floating-char-count,
body.fullscreen-display .vision-toolbar,
body.fullscreen-display .toast{display:none!important}
body.fullscreen-display .print-logo{display:block!important;position:fixed;top:12px;right:16px;width:80px;height:auto;z-index:999;cursor:pointer;pointer-events:auto}
body.fullscreen-display main{max-width:none!important;width:100%!important;margin:0!important;padding:32px 40px 44px!important;pointer-events:none}
body.fullscreen-display .editable-title{color:#515151;border:0!important;box-shadow:none!important;outline:0!important;pointer-events:none}
body.fullscreen-display .board-stage{position:relative!important;overflow:visible!important;width:100%!important;max-width:100%!important}
body.fullscreen-display .board-wrap{box-shadow:none!important;border:1px solid #dfe4ec!important;overflow:visible!important;width:100%!important;max-width:100%!important;background:#fff!important}
body.fullscreen-display .week-grid{width:100%!important;max-width:100%!important;border-spacing:0!important}
body.fullscreen-display .week-grid:not(.time-mode){grid-template-columns:repeat(var(--day-count,7),minmax(0,1fr))!important}
body.fullscreen-display .week-grid.time-mode{grid-template-columns:76px repeat(var(--day-count,7),minmax(0,1fr))!important;grid-auto-rows:min-content!important}
body.fullscreen-display .day-head,
body.fullscreen-display .time-head,
body.fullscreen-display .time-label{position:static!important;border-color:#dfe4ec!important}
body.fullscreen-display .day-cell,
body.fullscreen-display .time-cell,
body.fullscreen-display .period-cell,
body.fullscreen-display .day-head,
body.fullscreen-display .time-head,
body.fullscreen-display .time-label{border-color:#dfe4ec!important}
body.fullscreen-display .item-drag-zone,
body.fullscreen-display .vision-resize-handle{display:none!important}
body.fullscreen-display .item,
body.fullscreen-display .vision-item{pointer-events:none!important;box-shadow:none!important;border-color:transparent!important}
body.fullscreen-display .item:hover,
body.fullscreen-display .item.editing,
body.fullscreen-display .vision-item:hover,
body.fullscreen-display .vision-item.selected{box-shadow:none!important;background:transparent!important;border-color:transparent!important}

@page{margin:4mm}
@media print{
  html,body{background:#fff!important;width:auto;min-height:0;overflow:visible!important}
  .site-header,.settings-popover,.floating-toolbar,.floating-char-count,.vision-toolbar,.toast,.help-panel,.site-footer,.help-panel summary::marker{display:none!important}
  .print-logo{display:block!important;position:fixed;top:2mm;right:7mm;width:80px;height:auto;z-index:999}
  main{max-width:none!important;width:100%!important;padding: 3px 8px;}
  .editable-title{color:#000;border:0!important;box-shadow:none!important}
  .board-stage{position:relative!important;overflow:visible!important;width:100%!important;max-width:100%!important;min-height:auto!important}
  .board-wrap{box-shadow:none!important;border:1px solid #4b5563!important;border-radius:22px!important;overflow:hidden!important;width:100%!important;max-width:100%!important;background:#fff!important;position:relative!important;break-inside:avoid;page-break-inside:avoid}
  .week-grid{width:100%!important;max-width:100%!important;display:grid!important;border-spacing:0!important;break-inside:avoid;page-break-inside:avoid}
  .week-grid:not(.time-mode){grid-template-columns:repeat(var(--day-count,7),minmax(0,1fr))!important}
  .week-grid.time-mode{grid-template-columns:76px repeat(var(--day-count,7),minmax(0,1fr))!important;grid-auto-rows:min-content!important}
  .day-head,.time-head,.time-label{position:static!important;border-color:#4b5563!important}
  .day-cell,.time-cell,.period-cell,.day-head,.time-head,.time-label{border-color:#4b5563!important}
  .item-drag-zone{display:none!important}
  .item{box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}
  .item:hover,.item.editing{box-shadow:none!important;background:transparent!important}
  .slot.empty::before,.footer-inner span{display:none!important}
  .vision-layer{position:absolute!important;top:0!important;right:auto!important;bottom:0!important;left:0!important;width:100%!important;height:auto!important;min-width:0!important;min-height:0!important;overflow:visible!important;pointer-events:none!important;z-index:3!important;transform:none!important}
  .vision-item{box-shadow:none!important;border-color:transparent!important;background:transparent!important;break-inside:avoid;page-break-inside:avoid}
}

/* Responsive page width: wider only for weekly boards with more than seven days. */
body:not(.wide-weekly-board) main,body:not(.wide-weekly-board) .header-inner{max-width:1000px}
body.wide-weekly-board main,body.wide-weekly-board .header-inner{max-width:1200px}
@media print{main,.header-inner{max-width:none!important}}

/* Compact settings window */

.board-head{flex-direction:column;align-items:center}
.editable-description{width:min(760px,100%);margin:0;text-align:center;color:var(--muted);font-size:1rem;line-height:1.45;outline:0;border-radius:12px;padding:5px 12px;white-space:pre-wrap}
.editable-description:focus{background:#fff;border:1px solid var(--border);box-shadow:0 0 0 4px rgba(255,122,0,.1)}
.editable-description[hidden],.board-description-input[hidden]{display:none!important}
.board-description-input textarea{width:100%;min-height:66px;resize:vertical;border:1px solid var(--border);border-radius:10px;padding:8px;background:#fff}
.free-text-area{position:relative;width:100%;margin-top:14px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 26px rgba(16,24,40,.07);overflow:hidden}
.free-text-area[hidden]{display:none}
.free-text-close{position:absolute;top:6px;left:6px;z-index:6;width:26px;height:26px;border:0;border-radius:8px;background:rgba(255,255,255,.92);color:var(--muted);font-size:1rem;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center}
.free-text-close:hover{background:var(--soft);color:var(--text)}
.free-text-slot{min-height:120px;display:flex;flex-direction:row;align-items:stretch;direction:rtl;padding:0}
.free-text-slot .item{flex:1 1 0;min-width:0;min-height:120px;padding:10px 14px;border-inline-start:1px solid var(--border)}
.free-text-slot .item:first-child{border-inline-start:0}
.free-text-slot.empty::before{content:"";display:none}
@media(max-width:760px){.free-text-slot{min-width:520px}.free-text-area{overflow-x:auto}}

#settingsPanel .site-font-size-row{grid-template-columns:1fr 112px;margin:5px 0}
#settingsPanel .site-font-size-row select{padding:5px 7px;min-height:30px}
#settingsPanel{padding:10px 12px;border-radius:14px;width:min(340px,calc(100vw - 20px));font-size:.9rem;line-height:1.35}
#settingsPanel{max-height:calc(100vh - 76px);overflow-y:auto;overscroll-behavior:contain}
#settingsPanel .settings-title-row{position:sticky;top:-10px;z-index:12;background:#fff;padding:10px 0 6px}
#settingsPanel .settings-save-block{position:sticky;bottom:-10px;z-index:11;background:#fff;padding-bottom:10px;box-shadow:0 -8px 14px rgba(255,255,255,.94)}
#settingsPanel .settings-control.has-collapse{display:grid;grid-template-columns:1fr auto auto}
#settingsPanel .settings-collapse-btn{width:25px;height:25px;min-width:25px;padding:0;border-radius:7px;background:#fff;border:1px solid var(--border);color:var(--muted);line-height:1}
#settingsPanel .settings-collapse-btn:hover{background:var(--soft);color:var(--text)}
#settingsPanel .time-settings-panel{padding-inline:2px}
#settingsPanel .settings-control.has-collapse:has(+.time-settings-panel:not([hidden])){
  margin-bottom:0;
  border-end-start-radius:0;
  border-end-end-radius:0;
  border-bottom-color:transparent;
  background:#f7f9fc;
}
#settingsPanel .settings-control.has-collapse+.time-settings-panel:not([hidden]){
  margin-top:0;
  padding:5px 7px 7px;
  border:1px solid var(--border);
  border-top:0;
  border-end-start-radius:10px;
  border-end-end-radius:10px;
  background:#f7f9fc;
}
#settingsPanel .settings-title-row{margin:0 0 7px;gap:6px}
#settingsPanel h2{font-size:1rem;line-height:1.2}
#settingsPanel .settings-close{width:28px;height:28px;min-width:28px;border-radius:8px}
#settingsPanel .settings-block{padding-top:1px;margin-top:1px}
#settingsPanel .settings-row{gap:5px;margin:5px 0}
#settingsPanel .settings-row label{font-weight:600;font-size:.86rem}
#settingsPanel .settings-row input,#settingsPanel .settings-row select{border-radius:8px;padding:5px 6px;min-height:30px}
#settingsPanel .settings-control{border-radius:10px;padding:6px 8px;margin:5px 0;font-size:.88rem;font-weight:600;min-height:32px}
#settingsPanel .settings-control input[type=checkbox]{min-width:16px;width:16px;height:16px}
#settingsPanel .settings-note{font-size:.78rem;margin:3px 0 0}
#settingsPanel .hidden-slots{max-height:145px;gap:4px;margin-top:5px}
#settingsPanel .hidden-slots label{font-size:.78rem;border-radius:8px;padding:4px 5px;gap:4px}
#settingsPanel .period-options{max-height:280px}
#settingsPanel .period-time-controls{margin-top:5px;padding:5px}
#settingsPanel .period-hidden-slots{gap:4px;max-height:90px;margin-top:4px}
#settingsPanel .period-hidden-slots label{font-size:.74rem!important;padding:3px 4px}
#settingsPanel .btn{padding:7px 10px;border-radius:10px;min-height:32px}
#settingsPanel .link-danger{font-size:.78rem;padding:2px 0;min-height:0}

/* Periodic local-storage notice for guests */

.vision-popup-settings{margin-top:3px;padding:0;border:0;background:transparent;display:grid;gap:0}
.vision-popup-settings>.settings-control{margin:0}
.vision-popup-settings:has(#visionPopupEnabled:checked)>.settings-control{border-end-start-radius:0;border-end-end-radius:0;border-bottom-color:transparent;background:#f4f7fb}
.vision-popup-editor{display:grid;gap:5px;padding:7px;border:1px solid #dbe3ef;border-top:0;border-end-start-radius:10px;border-end-end-radius:10px;background:#f4f7fb}
.vision-popup-editor[hidden]{display:none!important}
.vision-popup-settings textarea{width:100%;min-height:62px;resize:vertical;border:1px solid var(--border);border-radius:8px;padding:6px 7px;background:#fff;color:var(--text);font:inherit;line-height:1.35}
.vision-popup-title-field{display:block}
.vision-popup-title-field input{width:100%;border:1px solid var(--border);border-radius:8px;padding:5px 7px;background:#fff;color:var(--text);font:inherit}
.vision-popup-settings .settings-row{align-items:center}
.vision-popup-backdrop{position:fixed;inset:0;z-index:2900;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.32);backdrop-filter:blur(2px)}
.vision-popup-backdrop.open{display:flex}
.vision-popup-dialog{position:relative;width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:24px 24px 20px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 22px 60px rgba(15,23,42,.24);color:#1e293b;text-align:center}
.vision-popup-dialog h2{margin:0 28px 12px;font-size:1.3rem;line-height:1.35}
.vision-popup-message{white-space:pre-wrap;font-size:1rem;line-height:1.8;word-break:break-word}
.vision-popup-close{position:absolute;top:8px;left:8px;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#64748b;font-size:1.3rem;cursor:pointer}
.vision-popup-close:hover{background:#f1f5f9;color:#0f172a}
.vision-popup-actions{display:flex;justify-content:center;margin-top:18px}
@media(max-width:520px){.vision-popup-dialog{padding:22px 16px 18px}.vision-popup-message{font-size:.95rem}}
@media print{.vision-popup-backdrop{display:none!important}}
.guest-disclaimer-backdrop{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.34);backdrop-filter:blur(2px)}
.guest-disclaimer-backdrop.open{display:flex}
.guest-disclaimer{position:relative;width:min(520px,100%);padding:20px 22px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 20px 55px rgba(15,23,42,.22);color:#1e293b;text-align:right}
.guest-disclaimer h2{margin:0 0 9px;font-size:1.08rem;line-height:1.35}
.guest-disclaimer p{margin:0;font-size:.94rem;line-height:1.75}
.guest-disclaimer-actions{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-top:16px}
.guest-disclaimer-close{position:absolute;top:8px;left:8px;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#64748b;font-size:1.25rem;cursor:pointer}
.guest-disclaimer-close:hover{background:#f1f5f9;color:#0f172a}
body.fullscreen-display .guest-disclaimer-backdrop{display:none!important}
@media(max-width:520px){.guest-disclaimer{padding:18px 16px}.guest-disclaimer-actions{flex-direction:column;align-items:stretch}.guest-disclaimer-actions .btn{width:100%}}
@media print{.guest-disclaimer-backdrop{display:none!important}}
@media print{.free-text-close{display:none!important}}
body.fullscreen-display .free-text-close{display:none!important}

/* Compact symbol picker in Add items to board. */
.vision-symbols{grid-template-columns:repeat(7,1fr);gap:4px}
.vision-symbols button{height:30px;min-width:0;padding:2px;border-radius:8px;font-size:16px;line-height:1}
.vision-symbols .vision-svg-choice{display:flex;align-items:center;justify-content:center}
.vision-symbols .vision-svg-choice img{display:block;width:21px;height:21px;object-fit:contain;pointer-events:none}

/* Notes window: below the board or on its language-aware outer side. */
.board-content-layout{width:100%}
.board-content-layout.side-notes{display:flex;align-items:stretch;gap:14px}
.side-notes .board-stage{flex:1 1 auto;min-width:0}
.side-notes .free-text-area{flex:0 0 var(--notes-window-width,170px);width:var(--notes-window-width,170px);margin-top:0}
.side-notes .free-text-slot{height:calc(100% - 33px);min-height:calc(100% - 33px)}
.side-notes .free-text-slot{flex-direction:column;align-items:stretch}
.side-notes .free-text-slot .item{flex:0 0 auto;width:100%;min-height:20px;padding:2px 6px 1px;border-inline-start:0}
.free-text-head{min-height:33px;padding:8px 34px;background:#fff7ed;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;line-height:1.2}
.free-text-close{top:4px}
.notes-position-row{transition:opacity .15s}
.notes-position-row:has(select:disabled){opacity:.5}
body.fullscreen-display .side-notes .board-stage{width:auto!important;flex:1 1 0!important}
@media print{.side-notes .board-stage{width:auto!important;flex:1 1 0!important}}
@media(max-width:760px){.board-content-layout.side-notes{display:block}.side-notes .free-text-area{width:100%;margin-top:14px}.side-notes .free-text-slot{height:auto;min-height:120px}}

/* Wider board, narrower time column, and header settings shortcut. */
main{max-width:1000px}
.week-grid.time-mode{grid-template-columns:68px repeat(var(--day-count,7),minmax(130px,1fr))}
.remember-row-label,.remember-cell{min-height:54px;border-inline-start:1px solid var(--border);border-top:1px solid var(--border);background:#fffdf8}
.remember-row-label{display:flex;align-items:center;justify-content:center;padding:5px;background:#fff7ed;color:#98a2b3;font-weight:700;font-size:.82rem;text-align:center}
.remember-cell{display:flex;flex-direction:column;min-width:0}
.remember-cell-title{padding:4px 6px 2px;color:#98a2b3;font-size:.76rem;font-weight:700;line-height:1.2}
.remember-slot{flex:1;min-height:32px}
.remember-slot .item{font-size:.88rem}
.focus-row-label,.focus-cell{min-height:54px;border-inline-start:1px solid var(--border);border-bottom:1px solid var(--border);background:#fffdf8}
.focus-row-label{display:flex;align-items:center;justify-content:center;padding:5px;background:#fff7ed;color:#98a2b3;font-weight:700;font-size:.82rem;text-align:center}
.focus-cell{display:flex;flex-direction:column;min-width:0}
.focus-cell-title{padding:4px 6px 2px;color:#98a2b3;font-size:.76rem;font-weight:700;line-height:1.2}
.focus-slot{flex:1;min-height:32px}
.focus-slot .item{font-size:.88rem}
.day-separation-control{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px}
.day-separation-control select{width:68px;min-height:28px;padding:3px 5px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:.8rem}
.day-separation-control select:disabled{opacity:.5;cursor:not-allowed}
.board-wrap:has(.week-grid.separate-days){border:0;background:transparent;box-shadow:none;border-radius:0}
.week-grid.separate-days{column-gap:var(--day-separation-gap,8px)}
.week-grid.separate-days .day-head,.week-grid.separate-days .day-cell,.week-grid.separate-days .time-cell,.week-grid.separate-days .period-cell,.week-grid.separate-days .focus-cell,.week-grid.separate-days .remember-cell{border-inline:1px solid var(--border)}
.week-grid.separate-days .day-head{border-top:1px solid var(--border);border-radius:14px 14px 0 0}
.week-grid.separate-days .day-column-end{border-bottom:1px solid var(--border);border-radius:0 0 14px 14px;overflow:hidden}
.week-grid.separate-days .time-head,.week-grid.separate-days .time-label,.week-grid.separate-days .focus-row-label,.week-grid.separate-days .remember-row-label{border-inline:1px solid var(--border)}
.week-grid.separate-days .time-head{border-top:1px solid var(--border);border-radius:14px 14px 0 0}
.week-grid.separate-days .time-axis-end{border-bottom:1px solid var(--border);border-radius:0 0 14px 14px;overflow:hidden}
body.fullscreen-display .week-grid.time-mode{grid-template-columns:68px repeat(var(--day-count,7),minmax(0,1fr))!important}
.header-right-actions #visionBtn{order:1}
.header-right-actions #settingsBtn{order:2;display:inline-flex!important}
.header-right-actions #loginBtn{order:3}
.header-right-actions #menuBtn{order:4}

/* Start day and day count match the compact settings cards. */
#settingsPanel .days-settings{margin:0;padding:0}
#settingsPanel .days-settings .settings-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px;margin:5px 0}
#settingsPanel .days-settings .settings-row label{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;min-height:32px;padding:6px 7px;border:1px solid var(--border);border-radius:10px;background:#fafafa;font-size:.8rem;font-weight:600;white-space:nowrap}
#settingsPanel .days-settings .settings-row select{width:auto;min-width:0;min-height:28px;padding:4px 5px;border-radius:8px;font-size:.8rem}
#settingsPanel .days-settings .settings-row label:first-child select{width:70px}
#settingsPanel .days-settings .settings-row label:last-child select{width:46px}

@media print{.week-grid.time-mode{grid-template-columns:68px repeat(var(--day-count,7),minmax(0,1fr))!important}}
@media(max-width:760px){.week-grid.time-mode{grid-template-columns:58px repeat(var(--day-count,7),minmax(115px,1fr))}}

/* Notes window typography and single-line settings control. */
.free-text-head{font-size:.88rem;font-weight:600}
.free-text-slot .item{font-size:.9rem;font-weight:400}
#settingsPanel .notes-window-control{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px}
#settingsPanel .notes-window-control label{font-size:.88rem;font-weight:600}
#settingsPanel .notes-window-control select{width:auto;min-width:104px;min-height:28px;padding:4px 6px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:.78rem}
#settingsPanel .notes-window-control input[type=checkbox]{width:18px;min-width:18px;height:18px}

/* Header order: add items, settings, login, menu. */
.header-right-actions #visionBtn{order:1}
.header-right-actions #settingsBtn{order:2}
.header-right-actions #loginBtn{order:3}
.header-right-actions #menuBtn{order:4}


/* Header: centered logo, right menu/login, desktop actions on the left */
.header-inner{position:relative;grid-template-columns:1fr auto 1fr;gap:12px}
.header-right-actions,.header-left-actions{display:flex;align-items:center;gap:8px;position:relative}
.header-right-actions{justify-self:start;justify-content:flex-start}
.header-left-actions{justify-self:end;justify-content:flex-end}
.logo-link{justify-self:center;grid-column:2;grid-row:1}
.header-right-actions{grid-column:1;grid-row:1}
.header-left-actions{grid-column:3;grid-row:1}
#menuPanel{right:0;left:auto;top:48px}
#settingsPanel,#visionPanel{left:0;right:auto;top:58px}
.mobile-menu-action,.mobile-left-menu-btn{display:none}
@media(max-width:700px){
  .header-inner{grid-template-columns:1fr auto 1fr;padding:8px 10px;gap:7px}
  .desktop-header-action{display:none!important}
  .mobile-menu-action,.mobile-left-menu-btn{display:flex}
  .header-right-actions,.header-left-actions{gap:5px}
  .icon-btn{min-width:35px;height:35px;border-radius:10px}
  .logo-link img{height:27px}
  #menuPanel{right:0;left:auto;top:44px}
  #leftMenuPanel{left:0;right:auto;top:44px}
  #settingsPanel,#visionPanel{left:10px;right:10px;top:52px;width:auto;max-height:calc(100vh - 64px);overflow:auto}
}

/* === Internationalization: LTR / RTL === */
html[dir="ltr"] .week-grid,html[dir="ltr"] .free-text-slot{direction:ltr}
html[dir="rtl"] .week-grid,html[dir="rtl"] .free-text-slot{direction:rtl}
html[dir="rtl"] .time-badge{margin-inline-start:0;margin-inline-end:5px}
html[dir="ltr"] .menu-item,html[dir="ltr"] .settings-popover,html[dir="ltr"] .guest-disclaimer{text-align:left}
html[dir="rtl"] .menu-item,html[dir="rtl"] .settings-popover,html[dir="rtl"] .guest-disclaimer{text-align:right}
html[dir="ltr"] #menuPanel{left:0;right:auto}html[dir="ltr"] #leftMenuPanel{right:0;left:auto}
html[dir="ltr"] #settingsPanel,html[dir="ltr"] #accessibilityPanel,html[dir="ltr"] #visionPanel{right:0;left:auto}
html[dir="rtl"] .header-right-actions #menuPanel{left:0!important;right:auto!important}
html[dir="ltr"] .header-right-actions #menuPanel{right:0!important;left:auto!important}
html[dir="ltr"] .settings-popover{right:0;left:auto}
html[dir="ltr"] .item-drag-zone{right:0;left:auto}
html[dir="ltr"] .print-logo{left:16px;right:auto}
html[lang="en"] .free-text-slot.empty::before,html[lang="he"] .free-text-slot.empty::before{content:""}
.item,.editable-title,.editable-description,.vision-text,.vision-popup-message{unicode-bidi:plaintext}
html[dir="rtl"] .item{direction:rtl;text-align:right}
html[dir="ltr"] .item{direction:ltr;text-align:left}
html[dir="rtl"] .item[contenteditable="true"]{direction:rtl;text-align:right;caret-color:currentColor}
html[dir="ltr"] .item[contenteditable="true"]{direction:ltr;text-align:left;caret-color:currentColor}
.item[contenteditable="true"].empty-note-editor{caret-color:transparent!important}
@keyframes empty-note-caret-blink{0%,48%{opacity:1}49%,100%{opacity:0}}
.item[contenteditable="true"].empty-note-editor::after{content:"";position:absolute;inset-inline-start:var(--note-padding,3px);top:50%;width:1px;height:1em;background:currentColor;transform:translateY(-50%);animation:empty-note-caret-blink 1s steps(1,end) infinite;pointer-events:none}
.language-settings-row{grid-template-columns:1fr 132px!important}
.vision-header-btn svg{width:21px;height:21px;fill:none;stroke:#111;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vision-menu-icon svg{width:17px;height:17px;fill:none!important;stroke:#111;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.header-left-actions #visionBtn{order:49}.header-left-actions #settingsBtn{order:50}
.vision-arrow{padding:0;min-width:36px;min-height:36px;overflow:visible}
.vision-arrow-svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none;stroke:#111;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.vision-arrow-svg *{vector-effect:non-scaling-stroke}
.vision-arrow-choice{font-family:Arial,sans-serif;font-weight:900;color:#111}
#visionRotateLeft,#visionRotateRight,#visionSize{display:none!important}
#visionSize+*{display:none!important}
.vision-toolbar label:has(#visionSize){display:none!important}
.vision-rotate-handle{position:absolute;bottom:-34px;left:50%;transform:translateX(-50%);width:18px;height:18px;border:1px solid var(--accent);border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(16,24,40,.18);cursor:grab;z-index:3}
.vision-rotate-handle::after{content:"";position:absolute;left:50%;bottom:17px;width:1px;height:16px;background:var(--accent)}
.vision-rotate-handle:active{cursor:grabbing}
.vision-item:not(.selected):not(:hover) .vision-rotate-handle{display:none}
.header-left-actions #printBtn,.header-left-actions #settingsBtn,.header-left-actions #fullscreenModeBtn,.header-left-actions #menuWhatsappBtn,.header-left-actions #leftMenuBtn{display:none!important}
.header-left-actions #visionBtn{display:inline-flex!important;order:0}
#menuPanel .menu-list{gap:5px}
#menuPanel .menu-item{display:flex!important}
.menu-language-control{margin-top:5px;padding-top:8px;border-top:1px solid var(--border)}
.menu-language-control label{display:grid;grid-template-columns:1fr 120px;align-items:center;gap:8px;padding:7px 9px;font-weight:700}
.menu-language-control select{width:100%;border:1px solid var(--border);border-radius:8px;padding:5px 7px;background:#fff}

/* Headerless top row: title at inline start, controls and logo at inline end. */
.site-header{position:static;top:auto;z-index:auto;background:transparent;border:0;backdrop-filter:none}
.header-inner{max-width:1100px;margin:0 auto;padding:24px 16px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:none;gap:7px;align-items:center}
.header-inner .board-head{grid-column:1;grid-row:1;display:flex;align-items:flex-start;justify-content:flex-start;min-width:0;margin:0;padding:0}
.header-inner .editable-title{min-width:0;width:100%;text-align:start;font-size:clamp(1.35rem,3.1vw,3.1rem)}
.header-inner .editable-description{width:100%;padding:2px 0;text-align:start}
html[dir="ltr"] .header-inner .board-head{justify-self:start;align-items:flex-start;text-align:left}
html[dir="ltr"] .header-inner .editable-title,html[dir="ltr"] .header-inner .editable-description{text-align:left!important}
html[dir="rtl"] .header-inner .board-head{justify-self:start;align-items:flex-start;text-align:right}
html[dir="rtl"] .header-inner .editable-title,html[dir="rtl"] .header-inner .editable-description{text-align:right!important}
.header-right-actions{grid-column:2;grid-row:1;display:flex;justify-self:end;gap:6px}
.header-right-actions #visionBtn{order:1}
.header-right-actions #loginBtn{order:2}
.header-right-actions #menuBtn{order:3}
.header-left-actions{display:none!important}
.logo-corner{position:fixed;inset-inline-end:16px;bottom:16px;z-index:45;width:80px;display:flex;flex-direction:column;align-items:stretch;gap:2px}
.logo-link{position:static;width:80px;height:auto;display:flex;align-items:center;justify-content:center}
.logo-link img{display:block;width:80px;height:auto;object-fit:contain}
.logo-links{display:none;width:80px;align-items:center;justify-content:space-between;gap:2px;direction:rtl;color:var(--accent);font-size:11px;line-height:1.2;white-space:nowrap}
html[lang="he"] .logo-links{display:flex}
.logo-links a{color:var(--accent);text-decoration:none}
.logo-links a:hover,.logo-links a:focus{text-decoration:underline}
@media(max-width:700px){.header-inner{grid-template-columns:minmax(0,1fr) auto;padding:8px 10px 0;gap:5px}.header-inner .board-head{grid-area:auto;grid-column:1;grid-row:1}.header-right-actions{grid-column:2;grid-row:1}.logo-corner{inset-inline-end:10px;bottom:10px}.logo-link{width:80px;height:auto}.logo-link img{width:80px;height:auto}.header-inner .editable-title{font-size:clamp(1.05rem,5vw,1.35rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media print{.site-header{display:block!important}.site-header .header-inner{display:block!important;max-width:none;padding:0 0 4mm}.site-header .header-right-actions,.site-header .header-left-actions,.site-header .logo-corner{display:none!important}.site-header .board-head{display:flex!important;align-items:center!important}.site-header .board-head .editable-title,.site-header .board-head .editable-description,html[dir] .site-header .header-inner .board-head .editable-title,html[dir] .site-header .header-inner .board-head .editable-description{text-align:center!important;width:100%!important}.site-header .editable-title{font-size:1.8rem!important;margin-top:4px;}}
body.fullscreen-display .site-header{display:block!important}
body.fullscreen-display .site-header .header-inner{display:block!important;max-width:none;padding:18px 40px 4px}
body.fullscreen-display .site-header .header-right-actions,body.fullscreen-display .site-header .header-left-actions,body.fullscreen-display .site-header .logo-corner{display:none!important}
body.fullscreen-display .site-header .board-head .editable-title,body.fullscreen-display .site-header .board-head .editable-description{text-align:center!important;width:100%!important}

/* Compact text-only main menu. */
/* Every entry is its own compact row; accessibility and legal links form a quieter footer. */
#menuPanel{width:min(210px,calc(100vw - 16px));padding:5px;border-radius:12px}
#menuPanel .settings-title-row{position:absolute;top:4px;inset-inline-end:5px;z-index:2;display:block;margin:0;min-height:0}
#menuPanel .settings-close{width:26px;height:26px;min-width:26px;border-radius:7px;font-size:.9rem}
#menuPanel .menu-list{gap:0}
#menuPanel .menu-icon{display:none!important}
#menuPanel .menu-item{min-height:26px;padding:3px 10px;gap:0;border-radius:7px;font-size:.84rem;line-height:1.2;font-weight:600;color:var(--text)}
#menuPanel .menu-list>.menu-item:first-child{padding-inline-end:36px}
#menuPanel .menu-item{border-top:0!important;border-bottom:0!important}
#menuPanel .menu-separator{height:1px;margin:4px 10px;background:var(--border)}
#menuPanel .menu-paired-row{display:contents}
#menuPanel .menu-paired-divider{display:none}
#menuPanel .menu-paired-row .menu-item{order:2;width:100%;min-height:24px;padding:2px 10px;justify-content:flex-start;font-size:.78rem;font-weight:500;color:#667085}
#menuPanel .menu-paired-row .menu-item:hover{color:var(--text)}
#menuPanel .menu-language-control{order:1;margin-top:0;padding-top:0;border-top:0;border-bottom:0}
#menuPanel #menuSeparatorHelp{order:2}
/* The language picker explains itself, so its "שפה" label text is visually hidden but still names the select for screen readers. */
#menuPanel .menu-language-control label{display:block;min-height:0;padding:3px 6px;border:0;border-radius:7px;background:#fff;font-size:0}
#menuPanel .menu-language-control select{width:100%;min-height:26px;padding:2px 6px;border-radius:7px;font-size:.8rem;font-weight:600}
#settingsPanel .site-font-size-row{display:grid;grid-template-columns:1fr 112px;align-items:center;gap:8px;margin:5px 0;padding:6px 8px;border:1px solid var(--border);border-radius:10px;background:#fafafa;min-height:32px}
#settingsPanel .site-font-size-row label{font-size:.88rem;font-weight:600}

/* Tighter note rows. */
.item{padding-top:2px;padding-bottom:1px;min-height:20px;line-height:1.25;border-bottom:1px solid transparent}
.slot{position:relative;overflow:visible}
.item:not(.timed-span){flex-shrink:0}
.item.pixel-resizable{overflow:visible;resize:none}
.item .item-drag-zone{top:0;bottom:-1px;width:14px;height:auto;transform:none;background:transparent}
.item .item-drag-zone::before{content:"";display:block;width:3px;height:3px;border-radius:50%;background:currentColor;box-shadow:0 -5px currentColor,0 5px currentColor}
html[dir="rtl"] .item .item-drag-zone{left:0;right:auto}
html[dir="ltr"] .item .item-drag-zone{right:0;left:auto}
@media(pointer:coarse){.item{padding:var(--note-padding,3px)}.item .item-drag-zone{top:0;bottom:-1px;width:16px;height:auto;opacity:.5}}
.item-resize-handle{position:absolute;inset-inline:7px;bottom:-6px;width:auto;min-width:0;height:12px;margin:0;padding:0;border:0;border-radius:0;background:transparent;z-index:8;cursor:ns-resize;touch-action:none;user-select:none;-webkit-user-select:none;opacity:0}
.item-resize-handle::after{content:"";position:absolute;inset-inline:0;bottom:5px;height:2px;border-radius:999px;background:#ff9b42;pointer-events:none}
.item:hover .item-resize-handle,.item.editing .item-resize-handle{opacity:.8}
.item.editing .item-drag-zone{opacity:.75;z-index:9}
.item-resize-handle:hover{opacity:1!important}
.item.height-resizing .item-resize-handle{opacity:1!important}
body.note-height-resizing{cursor:ns-resize!important;user-select:none!important;-webkit-user-select:none!important}
.item.timed-span{position:absolute!important;top:0;margin-top:0!important;box-sizing:border-box;overflow:hidden}
html.notes-have-gap .item.timed-span{margin-inline:0!important}
.item.vertical-center{display:flex;flex-direction:column;justify-content:center;align-items:stretch;align-content:stretch;flex-wrap:nowrap}

/* Keep the board heading centered in presentation and print layouts. */
body.fullscreen-display .site-header .board-head{width:100%!important;justify-content:center!important;align-items:center!important;text-align:center!important}
body.fullscreen-display .site-header .editable-title,body.fullscreen-display .site-header .editable-description{width:100%!important;margin-inline:auto!important;text-align:center!important}
@media print{
  .item-resize-handle{display:none!important}
  .site-header .board-head{width:100%!important;justify-content:center!important;align-items:center!important;text-align:center!important}
  .site-header .editable-title,.site-header .editable-description{width:100%!important;margin-inline:auto!important;text-align:center!important}
  .board-wrap:has(.week-grid.separate-days){border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
  .week-grid.separate-days{column-gap:min(var(--day-separation-gap,8px),8px)!important}
  .focus-row-label,.focus-cell,.remember-row-label,.remember-cell{border-color:#4b5563!important}
  .week-grid.separate-days .day-column-end{border-bottom:1px solid #4b5563!important}
  .week-grid.separate-days .time-axis-end{border-bottom:1px solid #4b5563!important}
  .free-text-area,.free-text-head{border-color:#4b5563!important}
  .board-content-layout.side-notes{display:flex!important;flex-direction:row!important;align-items:stretch!important;gap:8px!important;width:100%!important}
  .board-content-layout.side-notes .board-stage{flex:1 1 0!important;width:auto!important;min-width:0!important}
  .board-content-layout.side-notes .free-text-area{display:flex!important;flex-direction:column!important;flex:0 0 var(--notes-window-width,170px)!important;width:var(--notes-window-width,170px)!important;margin:0!important;overflow:hidden!important;break-inside:avoid;page-break-inside:avoid}
  .board-content-layout.side-notes .free-text-slot{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;overflow:visible!important}
  .board-content-layout.side-notes .free-text-slot .item{display:block!important;flex:0 0 auto!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:20px!important;border-inline-start:0!important;break-inside:avoid;page-break-inside:avoid}
  .site-header .board-title-line{width:100%!important;justify-content:center!important;gap:3mm!important}
  .site-header .board-title-line .editable-title{width:auto!important;flex:0 1 auto!important;margin:0!important}
  .site-header .board-month-label{font-size:1rem!important;color:#111!important}
  .manual-date-line{display:inline-block!important;width:12mm;height:.9em;border-bottom:1px solid #111;vertical-align:baseline}
  .day-head .day-date{color:#111!important}
  .month-date-number{color:#111!important;font-size:.68rem!important}
  .week-grid.monthly-mode.monthly-manual-dates .month-day-cell{padding-top:22px}
  .week-grid.monthly-mode.monthly-manual-dates .month-day-cell::before{content:"";position:absolute;top:0;inset-inline-start:0;display:block;width:22px;height:22px;box-sizing:border-box;border-block-end:1px solid #111;border-inline-end:1px solid #111}
}

/* Standalone help page. */
.menu-item{text-decoration:none}
.help-page{background:#f7f8fa}
.help-page-shell{width:min(984px,calc(100% - 16px));margin:0 auto 32px;padding:24px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}
.help-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.help-page-header h1{margin:0;font-size:clamp(1.5rem,4vw,2rem)}
.help-content-lead{margin:0 0 8px;color:#344054;font-size:1rem;line-height:1.45}
.help-page-logo{width:80px;height:auto;object-fit:contain}
.help-page-content{color:#475467}
.help-page-content h2{margin:24px 0 8px;color:#344054;font-size:1.08rem;line-height:1.35}
.help-page-content h2:first-of-type{margin-top:20px}
.help-page-content ul{margin:0;padding-inline-start:24px}
.help-page-content li{margin:8px 0}
.help-page-back{display:inline-flex;margin-top:16px;color:#7a3b00;font-weight:700;text-decoration:none}
.help-page-back:hover{text-decoration:underline}
.legal-page-content p,.legal-page-content li{margin-block:8px}
.legal-page-content ol{margin:0;padding-inline-start:24px}
.legal-page-meta{color:#667085;font-size:.9rem}
.legal-language-switch{display:flex;gap:6px;justify-content:flex-end;margin-bottom:16px}
.legal-language-switch button{border:1px solid var(--border);border-radius:999px;background:#fff;color:#344054;padding:6px 12px;font-weight:700}
.legal-language-switch button[aria-pressed="true"]{background:var(--soft);border-color:#ffc58b;color:#7a3b00}
@media(max-width:600px){.help-page-shell{margin:0 auto 16px;padding:18px}.help-page-content ul{padding-inline-start:22px}}

/* Basic accessibility controls and keyboard focus. */
:focus-visible{outline:3px solid #1261a0!important;outline-offset:2px}
/* Notes keep their regular appearance unless high contrast is enabled. */
.item:focus-visible,.item-content:focus-visible{outline:0!important}
.item[tabindex="0"]:focus-visible{box-shadow:none!important}
html.accessibility-high-contrast .item:focus-visible,
html.accessibility-high-contrast .item.editing{
  position:relative;
  z-index:8;
  outline:3px solid #1261a0!important;
  outline-offset:-3px;
  box-shadow:none!important;
}
.accessibility-popover{width:min(330px,calc(100vw - 24px))}
.accessibility-popover .accessibility-reset{width:100%;justify-content:center;margin-top:8px}
#toolbarMovePrevious,#toolbarMoveNext{display:none;padding-inline:8px;font-size:.78rem;white-space:nowrap}
html.accessibility-note-day-navigation #toolbarMovePrevious,html.accessibility-note-day-navigation #toolbarMoveNext{display:inline-flex}
.tool-btn:disabled{opacity:.42;cursor:not-allowed;transform:none!important}
html.accessibility-highlight-links a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px}
html.accessibility-reduce-motion{scroll-behavior:auto}
html.accessibility-reduce-motion *,html.accessibility-reduce-motion *::before,html.accessibility-reduce-motion *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
html.accessibility-high-contrast{--bg:#fff;--text:#000;--muted:#202020;--border:#000;--soft:#fff4d6;--accent:#8a3600}
html.accessibility-high-contrast body{background:#fff;color:#000}
html.accessibility-high-contrast .site-header,html.accessibility-high-contrast .settings-popover,html.accessibility-high-contrast .board-wrap,html.accessibility-high-contrast .day-head,html.accessibility-high-contrast .time-head,html.accessibility-high-contrast .time-label,html.accessibility-high-contrast .day-cell,html.accessibility-high-contrast .time-cell,html.accessibility-high-contrast .period-cell,html.accessibility-high-contrast .month-day-cell,html.accessibility-high-contrast .item,html.accessibility-high-contrast .floating-toolbar{background:#fff!important;color:#000!important;border-color:#000!important}
html.accessibility-high-contrast .item{border-bottom-color:#000!important}
html.accessibility-high-contrast a{color:#003b7a!important;text-decoration:underline}

/* Final header icon order; kept last to override legacy header rules. */
.header-right-actions #visionBtn{order:1}
.header-right-actions #settingsBtn{order:2;display:inline-flex!important}
.header-right-actions #loginBtn{order:3}
.header-right-actions #menuBtn{order:4}

/* Keep complete time values visible in the compact three-column controls. */
#settingsPanel .time-options>label,
#settingsPanel .period-time-controls .settings-row.triple>label{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:stretch;
  gap:3px;
  text-align:center;
}
#settingsPanel .time-options>label>select,
#settingsPanel .period-time-controls .settings-row.triple>label>select{
  min-width:0;
  width:100%;
  direction:ltr;
  text-align:center;
  text-align-last:center;
}

/* Day-style panel headings on desktop and mobile. */
#settingsPanel>.settings-title-row,#visionPanel>.settings-title-row{
  position:sticky;
  z-index:20;
  justify-content:center;
  min-height:40px;
  padding:8px 42px!important;
  background:#eef4ff;
  border-bottom:1px solid #cbd9ee;
  border-start-start-radius:inherit;
  border-start-end-radius:inherit;
  line-height:1.2;
}
#settingsPanel>.settings-title-row{top:-10px;margin:-10px -12px 8px!important}
#visionPanel>.settings-title-row{top:-16px;margin:-16px -16px 10px!important}
#settingsPanel>.settings-title-row h2,#visionPanel>.settings-title-row h2{
  width:100%;
  margin:0;
  color:#344767;
  font-size:.95rem;
  font-weight:700;
  text-align:center;
}
#settingsPanel>.settings-title-row .settings-close,#visionPanel>.settings-title-row .settings-close{
  position:absolute;
  inset-inline-end:7px;
  top:5px;
  width:30px;
  min-width:30px;
  height:30px;
  padding:0;
  background:transparent;
}

/* Full-screen settings and add-items panels on mobile. */
@media(max-width:700px){
  body:has(#settingsPanel.open),body:has(#visionPanel.open){overflow:hidden}
  #settingsPanel,#visionPanel{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:8px 8px calc(10px + env(safe-area-inset-bottom))!important;
    border:0!important;
    border-radius:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    z-index:2000!important;
  }
  #settingsPanel>.settings-title-row,#visionPanel>.settings-title-row{
    top:-8px;
    min-height:40px;
    margin:-8px -8px 6px!important;
    padding:8px 40px!important;
  }
  #settingsPanel>.settings-title-row h2,#visionPanel>.settings-title-row h2{
    font-size:.9rem;
  }
  #settingsPanel>.settings-title-row .settings-close,#visionPanel>.settings-title-row .settings-close{
    inset-inline-end:6px;
    top:5px;
  }
  #settingsPanel,#visionPanel{font-size:.8rem;line-height:1.25}
  #settingsPanel .settings-block{margin:0;padding-top:0}
  #settingsPanel .settings-row{gap:4px;margin:3px 0}
  #settingsPanel .settings-row label{font-size:.78rem}
  #settingsPanel .settings-row input,#settingsPanel .settings-row select{
    min-height:27px;
    padding:3px 5px;
    font-size:.78rem;
  }
  #settingsPanel .settings-control,#visionPanel .settings-control{
    min-height:28px;
    margin:3px 0;
    padding:4px 6px;
    border-radius:8px;
    font-size:.8rem;
  }
  #settingsPanel .site-font-size-row{
    min-height:28px;
    margin:3px 0;
    padding:4px 6px;
  }
  #settingsPanel .days-preview,#settingsPanel .settings-note{margin-top:2px;font-size:.72rem}
  #settingsPanel .hidden-slots{gap:3px;margin-top:3px;max-height:120px}
  #settingsPanel .hidden-slots label{padding:3px 4px;font-size:.72rem}
  #settingsPanel .btn,#visionPanel .btn{min-height:28px;padding:5px 8px;font-size:.8rem}
  #settingsPanel .settings-save-block{bottom:-8px;padding-bottom:8px}
  #visionPanel .vision-form{gap:5px}
  #visionPanel .vision-form input[type=text]{min-height:29px;padding:5px 7px;border-radius:8px;font-size:.8rem}
  #visionPanel .vision-form-row{gap:5px}
  #visionPanel .vision-symbols{gap:3px}
  #visionPanel .vision-symbols button{height:27px;padding:1px;border-radius:7px;font-size:15px}
  #visionPanel .vision-popup-settings{gap:0;margin-top:2px;padding:0}
  #visionPanel .vision-popup-editor{gap:4px;padding:5px}
  #visionPanel .vision-popup-settings textarea{min-height:64px;padding:5px 7px;border-radius:8px;font-size:.78rem;line-height:1.35}
  #visionPanel .settings-row{gap:4px;margin:3px 0}
  #visionPanel .settings-row label,#visionPanel .settings-row select{font-size:.78rem}
  #visionPanel .settings-row select{min-height:27px;padding:3px 5px;border-radius:8px}
}

/* Pointer-based note dragging. */
.slot.note-drag-target{background:#fff8ef;box-shadow:inset 0 0 0 2px rgba(255,122,0,.38)}
.item.note-drag-before{box-shadow:inset 0 2px 0 var(--accent)}
.slot.note-drag-end::after{content:"";display:block;height:2px;margin:2px 5px;background:var(--accent);border-radius:999px}
.note-drag-preview{position:fixed!important;z-index:4000!important;margin:0!important;pointer-events:none!important;opacity:.88!important;background:#fff!important;border:1px solid #ffc58b!important;border-radius:8px!important;box-shadow:0 12px 28px rgba(16,24,40,.22)!important;transform:rotate(-1deg);overflow:hidden}
.note-drag-preview .item-drag-zone{opacity:.65}
.item.dragging{pointer-events:none}
.note-drag-preview{right:auto!important;bottom:auto!important}
.note-drag-preview .item-drag-zone,.note-drag-preview .item-resize-handle{display:none!important}
@media(pointer:coarse){.item-drag-zone{width:24px;opacity:.5}.item{padding-left:24px}}

/* Optional note separation and spacing. */
.item{padding:var(--note-padding,3px)}
.item-content{display:inline;min-width:0;outline:0}
.item.empty-note-editor .item-content[contenteditable="true"]{display:block;width:100%;min-height:1.25em;line-height:1.25}
.item.vertical-center .item-content{display:block;width:100%}
.week-grid.monthly-mode{grid-template-columns:repeat(7,minmax(130px,1fr));grid-auto-rows:auto}
.monthly-mode .month-day-head{position:sticky;top:0;z-index:4}
.month-day-cell{position:relative;display:flex;flex-direction:column;min-height:128px;border-inline-start:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;min-width:0}
.month-main-slot{flex:1 1 auto;min-height:72px}
.month-special-section{flex:0 0 auto;background:#fffdf8}
.month-focus-section{border-bottom:1px solid var(--border)}
.month-remember-section{border-top:1px solid var(--border)}
.month-special-section .focus-cell-title,.month-special-section .remember-cell-title{padding:3px 5px 1px;font-size:.68rem;font-weight:600;color:#98a2b3}
.month-special-section .focus-slot,.month-special-section .remember-slot{min-height:22px}
.monthly-mode .item{font-size:1rem}
.week-grid.monthly-mode.separate-days{row-gap:var(--day-separation-gap,8px)}
.week-grid.monthly-mode.separate-days .month-day-cell{border:1px solid var(--border);border-radius:12px;overflow:hidden}
.board-view-settings{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#settingsPanel .board-view-settings > label{flex-direction:column;align-items:stretch;justify-content:center;gap:2px;white-space:normal;text-align:center;line-height:1.1}
#settingsPanel .board-view-settings > label select{width:100%;height:28px}
@media(min-width:761px){#settingsPanel .board-view-settings > .board-view-label select{width:86px;align-self:center;appearance:none;padding:4px 4px 4px 17px;font-size:.8rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23172033' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 5px center}}
.days-settings .settings-row > label[hidden]{display:none!important}
.date-settings-control{gap:6px!important;padding:6px 8px!important}
.date-settings-control>span{font-size:.8rem;font-weight:700;white-space:nowrap}
.date-settings-fields{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;flex:1 1 auto}
.date-settings-fields input,.date-settings-fields select{height:28px;min-width:0;border:1px solid var(--border);border-radius:8px;background:#fff;padding:3px 5px;font-size:.76rem}
.date-settings-fields input[type=date]{width:128px}
.date-settings-fields #calendarMonthSelect{width:72px}.date-settings-fields #calendarYearSelect{width:66px}
.date-settings-fields [hidden]{display:none!important}
.date-settings-fields :disabled{color:#98a2b3;background:#f5f6f8}
.board-title-line{display:flex;align-items:baseline;justify-content:flex-start;gap:10px;width:100%;min-width:0;direction:ltr}
.board-title-line .editable-title{width:auto;min-width:0;direction:auto}
.board-month-label{flex:0 0 auto;color:#667085;font-size:clamp(.85rem,1.7vw,1.15rem);font-weight:700;line-height:1.2;white-space:nowrap;direction:auto}
.board-month-label[hidden]{display:none!important}
.day-head .day-name,.day-head .day-date{display:inline-block}
.day-head .day-date{margin-inline-start:5px;color:#667085;font-size:.78em;font-weight:600}
.manual-date-line{display:none}
.month-day-cell.has-calendar-date{padding-top:22px}
.month-date-number{position:absolute;top:3px;inset-inline-start:6px;z-index:2;color:#475467;font-size:.76rem;font-weight:700;line-height:1.2}
@media(max-width:760px){body:has(.monthly-mode) .board-stage{max-width:100%;overflow:hidden}}
html.notes-have-border .item{border-bottom-color:#e6e9ef!important}
html.notes-have-border .week-grid .slot>.item:last-child{border-bottom-color:transparent!important}

/* Keep the board vertically fluid; only horizontal overflow may scroll. */
@media screen{.board-wrap{overflow-x:auto;overflow-y:hidden}}
html.notes-have-gap .item{margin:var(--note-gap,6px) var(--note-gap,6px) 0}
.side-notes .free-text-slot .item{width:auto;max-width:100%;padding:var(--note-padding,3px)}
html.notes-have-gap .side-notes .free-text-slot .item{max-width:calc(100% - var(--note-gap,6px) - var(--note-gap,6px))}
#settingsPanel .note-layout-settings{display:grid;grid-template-columns:repeat(3,max-content);justify-content:start;gap:6px;padding:6px 8px}
#settingsPanel .note-layout-settings label{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;font-size:.76rem;font-weight:600;white-space:nowrap}
#settingsPanel .note-layout-settings input[type=checkbox]{width:16px;height:16px;min-width:16px}
#settingsPanel .note-layout-settings select{width:62px;min-height:27px;padding:3px 5px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:.76rem}
@media(max-width:430px){#settingsPanel .note-layout-settings{gap:5px;padding:5px 6px}#settingsPanel .note-layout-settings label{font-size:.7rem}#settingsPanel .note-layout-settings select{width:55px}}
@media(pointer:coarse){.item{padding-inline-start:max(24px,var(--note-padding,3px))}}

/* Consistent vertical rhythm throughout Settings. */
#settingsPanel .settings-block{margin-top:5px;padding-top:0}
#settingsPanel .settings-block:first-of-type{margin-top:0}
#settingsPanel .settings-block > .settings-control,
#settingsPanel .settings-block > .settings-row,
#settingsPanel .settings-block > .settings-input-only{margin-top:0;margin-bottom:5px}
#settingsPanel .settings-block > :last-child{margin-bottom:0}
#settingsPanel .time-settings-panel{margin:0 0 5px}
#settingsPanel .time-settings-panel[hidden]{margin:0}
#settingsPanel .settings-block .btn.primary{margin-top:0}

.period-label-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.period-label-icon{display:block;width:28px;height:28px;object-fit:contain}

.ics-export-backdrop{position:fixed;inset:0;z-index:3100;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.38);backdrop-filter:blur(2px)}
.ics-export-backdrop.open{display:flex}
.ics-export-dialog{position:relative;width:min(620px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:24px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 22px 60px rgba(15,23,42,.25);color:#1e293b}
.ics-export-dialog h2{margin:0 30px 18px;font-size:1.25rem;text-align:center}
.ics-export-close{position:absolute;top:9px;inset-inline-end:9px;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#64748b;font-size:1.3rem}
.ics-export-close:hover{background:#f1f5f9;color:#0f172a}
.ics-export-date-field{display:grid;gap:6px;font-weight:700}
.ics-export-date-field input{width:100%;border:1px solid var(--border);border-radius:10px;padding:9px;background:#fff;color:var(--text)}
.ics-export-notice{margin:12px 0;color:#667085;font-size:.86rem;line-height:1.55}
.ics-export-summary{margin:10px 0;padding:9px 11px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:#7c2d12;font-weight:700}
.ics-export-preview{max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:10px;background:#fafafa}
.ics-export-preview-empty{padding:18px;text-align:center;color:#667085}
.ics-export-preview-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:9px 11px;border-bottom:1px solid #e5e7eb}
.ics-export-preview-row:last-child{border-bottom:0}
.ics-export-preview-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.ics-export-preview-when{color:#667085;white-space:nowrap;font-size:.86rem}
.ics-export-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.ics-export-actions .btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.25)}
@media(max-width:520px){.ics-export-dialog{padding:20px 14px}.ics-export-preview-row{grid-template-columns:1fr}.ics-export-preview-when{white-space:normal}.ics-export-actions{flex-direction:column-reverse}.ics-export-actions .btn{width:100%;justify-content:center}}
@media print{.ics-export-backdrop{display:none!important}}
.untimed-label{background:#f3f5f8!important;color:#667085!important;font-size:.76rem;font-weight:700;white-space:nowrap}
.untimed-cell{background:#fcfcfd;min-height:30px}
.untimed-slot{min-height:30px}

/* Compact, flat styling for the existing note editing toolbar. */
.floating-toolbar{
  background:#fff;
  border:1px solid #dfe3e8;
  border-radius:7px;
  box-shadow:0 2px 8px rgba(16,24,40,.12);
  padding:4px;
  gap:2px;
  min-height:72px;
}
.floating-toolbar .toolbar-row{
  gap:1px;
  flex-wrap:nowrap;
}
.floating-toolbar .toolbar-row-primary{
  border-bottom:1px solid #e7eaee;
  padding-bottom:3px;
}
.floating-toolbar .tool-btn{
  min-width:30px;
  height:30px;
  padding:0 7px;
  border:0;
  border-radius:4px;
  background:transparent;
  color:#667085;
  box-shadow:none;
  transition:background-color .14s,color .14s;
}
.floating-toolbar .tool-btn:hover{
  background:#f2f4f7;
  border-color:transparent;
  color:#344054;
  transform:none;
}
.floating-toolbar .tool-btn:focus-visible{
  outline:2px solid rgba(255,122,0,.28);
  outline-offset:-2px;
}
.floating-toolbar .tool-btn.danger{color:#d64555}
.floating-toolbar .tool-btn.danger:hover{background:#fff1f3;color:#b42335}
.floating-toolbar .tool-btn.bold{color:#344054}
.floating-toolbar .toolbar-panel{
  border-radius:6px;
  padding:6px;
  gap:4px;
}
.floating-toolbar .toolbar-panel-head{gap:5px}
.floating-toolbar .toolbar-panel-close{
  border:0;
  border-radius:4px;
  background:transparent;
}
.floating-toolbar .toolbar-panel-close:hover{background:#f2f4f7}

/* Save and the import/export links stay pinned to the bottom of the scrolling settings panel. */
#settingsPanel{max-height:calc(100vh - 104px);max-height:calc(100dvh - 104px)}
/* The note-layout labels are now full phrases, so each one gets its own row: text at the start, control at the end. */
#settingsPanel .note-layout-settings{grid-template-columns:1fr;gap:4px}
#settingsPanel .note-layout-settings label{justify-content:space-between;font-size:.84rem;white-space:normal}
#settingsPanel>.settings-footer{position:sticky;bottom:-10px;z-index:4;margin:6px -12px -10px;padding:8px 12px 8px;border-top:1px solid var(--border);background:#fff;border-radius:0 0 14px 14px}
@media(max-width:700px){#settingsPanel>.settings-footer{margin-inline:-8px;padding-inline:8px;border-radius:0}}
#settingsPanel>.settings-footer>.settings-block{margin:0}
#settingsPanel>.settings-footer>.settings-actions{margin-top:6px}
#settingsPanel .settings-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;align-items:center}
#settingsPanel .settings-actions .link-danger{width:100%;min-width:0;text-align:center;white-space:nowrap;font-size:.65rem}

/* Strong, printer-friendly borders. */
@media print{
  .board-content-layout.side-notes .free-text-area[hidden],.free-text-area[hidden]{display:none!important}
  .board-wrap,.free-text-area,.item,.vision-item,.help-page-shell{box-shadow:none!important}
  .board-content-layout{--weekly-print-height:176mm}
  .board-content-layout:not(.side-notes):has(> .free-text-area:not([hidden])){--weekly-print-height:122mm}
  .week-grid:not(.monthly-mode):not(:has(.item)){min-height:var(--weekly-print-height)!important}
  .week-grid:not(.monthly-mode):not(.time-mode):not(:has(.item)) .day-cell{min-height:calc(var(--weekly-print-height) - 9mm)!important}
  .week-grid:not(.monthly-mode):not(.time-mode):not(:has(.item)):has(.focus-cell) .day-cell,
  .week-grid:not(.monthly-mode):not(.time-mode):not(:has(.item)):has(.remember-cell) .day-cell{min-height:calc(var(--weekly-print-height) - 24mm)!important}
  .week-grid:not(.monthly-mode):not(.time-mode):not(:has(.item)):has(.focus-cell):has(.remember-cell) .day-cell{min-height:calc(var(--weekly-print-height) - 39mm)!important}
  .week-grid:not(.monthly-mode).time-mode:not(:has(.item)){grid-template-rows:auto!important;grid-auto-rows:minmax(22px,1fr)!important}
  .board-content-layout:not(.side-notes) > .free-text-area:not([hidden]){display:flex!important;flex-direction:column!important;min-height:50mm!important;margin-top:4mm!important;break-inside:avoid;page-break-inside:avoid}
  .board-content-layout:not(.side-notes) > .free-text-area:not([hidden]) .free-text-slot{flex:1 1 auto!important;min-height:0!important;height:auto!important}
  .board-content-layout.side-notes{min-height:176mm!important}
  .board-content-layout.side-notes .free-text-area:not([hidden]){min-height:176mm!important}
  .week-grid.monthly-mode{grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-auto-rows:auto!important}
  .week-grid.monthly-mode.monthly-empty{height:176mm!important;grid-template-rows:auto repeat(var(--month-row-count,5),minmax(0,1fr))!important;grid-auto-rows:unset!important}
  .week-grid.monthly-mode.monthly-empty .month-day-cell{min-height:0!important}
  .monthly-mode .month-day-cell{min-height:58px!important;border-color:#4b5563!important}
  .monthly-mode .month-main-slot{min-height:42px!important}
  .monthly-mode .month-special-section .focus-slot,.monthly-mode .month-special-section .remember-slot{min-height:14px!important}
  .monthly-mode .month-special-section .focus-cell-title,.monthly-mode .month-special-section .remember-cell-title{padding:1px 3px!important;font-size:.58rem!important;line-height:1.1!important}
  .monthly-mode .month-day-head,.monthly-mode .month-special-section{border-color:#4b5563!important}
  .monthly-mode .item{font-size:1rem!important;line-height:1.2!important;padding:2px 3px!important}
  .week-grid.monthly-mode.separate-days{row-gap:min(var(--day-separation-gap,8px),6px)!important}
  html.notes-have-border .item{border-bottom-color:#4b5563!important}
  html.notes-have-border .week-grid .slot>.item:last-child{border-bottom-color:transparent!important}
  .free-text-slot .item{border-inline-start-color:#4b5563!important}
}

/* Editable board disclaimer below all board content. */
.disclaimer-area{width:100%;margin-top:12px;padding:2px 4px;background:transparent;border:0;box-shadow:none;overflow:visible}
.disclaimer-area[hidden]{display:none!important}
.disclaimer-slot{width:100%;min-height:30px;display:block;padding:0;background:transparent;border:0;cursor:text}
.disclaimer-slot.empty::before{content:"";display:none}
.disclaimer-placeholder{display:block;padding:4px 0;color:#98a2b3;font-size:.82rem;font-weight:400}
.disclaimer-slot .item{display:block;width:100%;max-width:100%;min-height:30px;margin:0!important;padding:4px 0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background-color:transparent;overflow:visible}
.disclaimer-slot .item:hover,.disclaimer-slot .item.editing{box-shadow:none!important}
.disclaimer-slot .item-content{display:block;width:100%;min-height:1.45em;outline:0}
.disclaimer-slot .item-drag-zone,.disclaimer-slot .item-resize-handle{display:none!important}
@media print{
  .disclaimer-area[hidden]{display:none!important}
  .disclaimer-area:not([hidden]){display:block!important;width:100%!important;margin-top:4mm!important;padding:0 1mm!important;background:transparent!important;border:0!important;box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}
  .disclaimer-placeholder{display:none!important}
  .disclaimer-slot,.disclaimer-slot .item{min-height:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
  .disclaimer-slot .item{padding:0!important}
}

/* The user picks the orientation in the print dialog; empty boards fill the page either way. */
/* Heights leave room for US Letter paper (Chrome's default in some locales) and for a board description line. */
@media print and (orientation:portrait){
  .board-content-layout{--weekly-print-height:246mm}
  .board-content-layout:not(.side-notes):has(> .free-text-area:not([hidden])){--weekly-print-height:192mm}
  .board-content-layout.side-notes,.board-content-layout.side-notes .free-text-area:not([hidden]){min-height:246mm!important}
  .week-grid.monthly-mode.monthly-empty{height:246mm!important}
}

/* The title line is laid out left to right, so in Hebrew push the title to the right edge even when a longer description widens the block. */
html[dir="rtl"] body:not(.fullscreen-display) .header-inner .board-title-line{justify-content:flex-end}

/* Phones: the description gets the full width under the title and buttons,
   and the vision layer (as wide as the scrolled grid) no longer widens the page. */
@media(max-width:700px){
  .header-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title actions" "desc desc";row-gap:4px;align-items:center}
  .header-inner .board-head{display:contents}
  .header-inner .board-title-line{grid-area:title;min-width:0}
  .header-inner .editable-description{grid-area:desc;width:100%;max-width:none;margin:0;padding-bottom:2px}
  .header-right-actions{grid-area:actions;grid-column:auto;grid-row:auto}
  #boardStage{overflow-x:clip}
  html,body{overflow-x:clip}
}
/* Swiping the board sideways must not drag the whole page along once the board reaches its end. */
@media screen{.board-wrap{overscroll-behavior-x:contain}}

/* Collapsible groups in the settings panel. */
/* Each group takes a color pair from the note color menu: a light background tint and the matching stronger border. */
#settingsPanel .settings-group[data-group="board"]{--group-bg:#e0f2fe;--group-border:#0891b2}
#settingsPanel .settings-group[data-group="parts"]{--group-bg:#dcfce7;--group-border:#16a34a}
#settingsPanel .settings-group[data-group="notes"]{--group-bg:#ffedd5;--group-border:#ea580c}
#settingsPanel .settings-group{margin:6px 0;border:2px solid var(--group-border,var(--border));border-radius:12px;background:#fff}
#settingsPanel .settings-group>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:10px;background:var(--group-bg,#fff);color:#1f2937;font-size:.95rem;font-weight:800;cursor:pointer;list-style:none;user-select:none}
#settingsPanel .settings-group>summary::-webkit-details-marker{display:none}
#settingsPanel .settings-group>summary::after{content:"▾";color:var(--group-border,#667085);transition:transform .15s}
#settingsPanel .settings-group:not([open])>summary::after{transform:rotate(90deg)}
#settingsPanel .settings-group>summary:hover{filter:brightness(.97)}
#settingsPanel .settings-group[open]>summary{border-bottom:2px solid var(--group-border,var(--border));border-radius:10px 10px 0 0}
#settingsPanel .settings-group-body{padding:6px}
#settingsPanel .settings-group-body>.settings-block,#settingsPanel .settings-group-body>.settings-pair{margin:0 0 6px}
#settingsPanel .settings-group-body>:last-child{margin-bottom:0}
#settingsPanel .settings-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#settingsPanel .settings-pair>.settings-block{margin:0;min-width:0}
#settingsPanel .settings-pair .settings-control{font-size:.85rem}

/* A thin strip under the notes of an hour cell that already has one: a click on it starts a new note in that hour. */
.week-grid.time-mode .slot:not([data-time=""]):has(>.item)::after{content:"+";display:flex;flex:0 0 12px;align-items:center;justify-content:center;height:12px;color:#98a2b3;font-size:.8rem;font-weight:700;line-height:1;opacity:0;cursor:pointer;transition:opacity .12s}
.week-grid.time-mode .slot:not([data-time=""]):has(>.item):hover::after{opacity:.8}
/* The invisible resize handle of the last note hangs below it and would cover half of the strip, so keep it inside the note. */
.week-grid.time-mode .slot:not([data-time=""])>.item:last-child:not(.timed-span) .item-resize-handle{bottom:0}
@media(hover:none){.week-grid.time-mode .slot:not([data-time=""]):has(>.item)::after{opacity:.35}}
@media print{.week-grid.time-mode .slot:not([data-time=""]):has(>.item)::after{display:none}}

/* Templates gallery */
.template-lead{margin:0 0 16px;color:#475467}
.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.template-card{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff}
.template-card h2{margin:0;color:#344054;font-size:1.05rem;line-height:1.35}
.template-card p{flex:1 1 auto;margin:0;color:#475467;font-size:.92rem;line-height:1.45}
.template-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.template-tags li{padding:2px 8px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:.76rem}
.template-card .btn{align-self:flex-start}
.template-message{margin:8px 0;color:#475467}
.template-dialog{width:min(460px,calc(100vw - 32px));padding:24px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 22px 60px rgba(15,23,42,.25);color:#1e293b}
.template-dialog::backdrop{background:rgba(15,23,42,.38)}
.template-dialog h2{margin:0 0 16px;font-size:1.15rem;line-height:1.4}
.template-dialog select{width:100%;border:1px solid var(--border);border-radius:10px;padding:9px;background:#fff;color:var(--text);font:inherit;font-weight:400}
.ics-export-day-warning{margin:10px 0;padding:9px 11px;border:1px solid #fecaca;border-radius:10px;background:#fef2f2;color:#7f1d1d;font-size:.9rem;line-height:1.5}

/* On wide screens the weekly board always fits the available width, so it does not scroll sideways (with a time column or gaps between days). */
@media screen and (min-width:761px){
  .week-grid:not(.monthly-mode){grid-template-columns:repeat(var(--day-count,7),minmax(0,1fr))}
  .week-grid.time-mode{grid-template-columns:68px repeat(var(--day-count,7),minmax(0,1fr))}
}

/* The vision-item toolbar is only as wide as the controls inside it. */
.vision-toolbar{width:max-content;max-width:min(330px,calc(100vw - 20px))}

/* Text items of the board: inline editing and the text tools row. */
.vision-text-tools{flex-wrap:wrap;align-items:center;gap:4px}
.vision-text-tools[hidden],.vision-text-tools [hidden]{display:none!important}
.vision-text-tools .tool-btn.active{background:var(--soft);border-color:var(--accent)}
.vision-item.editing-text{opacity:1!important;cursor:text;user-select:text;-webkit-user-select:text}
.vision-inline-edit{width:100%;min-width:90px;font:inherit;color:#111827;background:#fff;border:1px solid var(--accent);border-radius:6px;padding:2px 5px;resize:none;overflow:hidden;direction:rtl;unicode-bidi:plaintext;text-align:start}

.vision-text{text-align:center}
.vision-inline-edit{min-width:180px}
#visionColorSwatches{max-width:100%}

/* The close button of the notes window blends into the window header. */
.free-text-close{background:transparent}
.free-text-close:hover{background:rgba(23,32,51,.07)}

/* Mobile weekly board without a time column: keep the days side by side and scroll sideways, as in the hours view.
   A single column would list all seven headers first and only then the day cells, because they come in that order in the page. */
@media screen and (max-width:760px){
  .week-grid:not(.time-mode):not(.monthly-mode){grid-template-columns:repeat(var(--day-count,7),minmax(115px,1fr))}
}

/* Board templates in the "add items to the board" panel */
.vision-templates{margin-top:10px;padding-top:9px;border-top:1px solid var(--border);display:grid;gap:6px}
.vision-templates h3{margin:0;font-size:.9rem;font-weight:800}
.vision-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.vision-template-card,.vision-template-empty{min-height:54px;border-radius:8px;padding:6px 8px;display:flex;flex-direction:column;justify-content:center;gap:2px;text-align:start;font:inherit;line-height:1.25}
.vision-template-card{border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer}
.vision-template-card strong{font-size:.82rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vision-template-card span{font-size:.72rem;color:var(--muted,#667085)}
.vision-template-card:hover,.vision-template-card[aria-pressed="true"]{border-color:#ff7a00;background:#fff7ef}
.vision-template-card:focus-visible{outline:2px solid #ff7a00;outline-offset:1px}
.vision-template-empty{border:1px dashed var(--border);color:var(--muted,#98a2b3);font-size:.75rem;align-items:center;text-align:center}
.vision-template-confirm{border:1px solid #ffd2a8;background:#fff7ef;border-radius:8px;padding:7px 8px;display:grid;gap:5px}
.vision-template-confirm[hidden]{display:none}
.vision-template-confirm p{margin:0;font-weight:700;font-size:.82rem}
.vision-template-confirm p.settings-note{font-weight:400}
.vision-template-day{display:flex;align-items:center;gap:6px;font-size:.8rem}
.vision-template-day[hidden]{display:none}
.vision-templates-more{justify-self:start;font-size:.8rem;font-weight:700;color:#c25400;text-decoration:none}
.vision-templates-more:hover{text-decoration:underline}
#settingsPanel .settings-pair-controls{margin:0}
#settingsPanel .settings-pair-controls>.settings-control{margin:0;min-width:0}

/* Board description is written directly under the title; an empty line shows a hint on screen and disappears in print. */
.editable-description{cursor:text;min-height:1.45em}
.editable-description:empty::before{content:attr(data-placeholder);color:#98a2b3;pointer-events:none}
@media print{.editable-description:empty{display:none!important}}

/* "Add items to the board" panel: same collapsible coloured groups as the settings panel */
#visionPanel .settings-group[data-group="text"]{--group-bg:#ede9fe;--group-border:#7c3aed}
#visionPanel .settings-group[data-group="symbols"]{--group-bg:#dcfce7;--group-border:#16a34a}
#visionPanel .settings-group[data-group="popup"]{--group-bg:#fce7f3;--group-border:#db2777}
#visionPanel .settings-group[data-group="templates"]{--group-bg:#e0f2fe;--group-border:#0891b2}
#visionPanel .settings-group{margin:0;border:2px solid var(--group-border,var(--border));border-radius:12px;background:#fff}
#visionPanel .settings-group>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:10px;background:var(--group-bg,#fff);color:#1f2937;font-size:.95rem;font-weight:800;cursor:pointer;list-style:none;user-select:none}
#visionPanel .settings-group>summary::-webkit-details-marker{display:none}
#visionPanel .settings-group>summary::after{content:"▾";color:var(--group-border,#667085);transition:transform .15s}
#visionPanel .settings-group:not([open])>summary::after{transform:rotate(90deg)}
#visionPanel .settings-group>summary:hover{filter:brightness(.97)}
#visionPanel .settings-group[open]>summary{border-bottom:2px solid var(--group-border,var(--border));border-radius:10px 10px 0 0}
#visionPanel .settings-group-body{padding:6px;display:grid;gap:6px}
#visionPanel .vision-form{gap:8px}
#visionPanel .settings-group-body>.vision-popup-settings{margin:0}
#visionPanel .settings-group-body>.vision-templates{margin:0;padding:0;border:0}
#visionPanel .settings-group-body>.vision-templates>h3{display:none}
@media(max-width:760px){#visionPanel .settings-group>summary{padding:6px 10px;font-size:.85rem}}

/* While a note is being edited its text is a block, so the caret follows the text direction (an editable inline box leaves the caret at the right edge in Hebrew). */
.item.editing .item-content[contenteditable="true"]{display:block;min-width:0}

/* Hour cells: the "+" for another note floats in the bottom corner instead of adding a strip, so the row keeps its height and the note sits in the middle of it. */
.week-grid.time-mode .slot:not([data-time=""]):has(>.item){position:relative;justify-content:center}
/* The "+" is a small pill centred under the last note, straddling the cell's bottom line. It only takes clicks while the cell is hovered, so it does not block the note in the row below. */
.week-grid.time-mode .slot:not([data-time=""]):has(>.item)::after{position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);width:34px;height:14px;flex:none;border:1px solid #d0d5dd;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.12);z-index:30;pointer-events:none}
.week-grid.time-mode .slot:not([data-time=""]):has(>.item):hover::after{pointer-events:auto}
@media(hover:none){.week-grid.time-mode .slot:not([data-time=""]):has(>.item)::after{pointer-events:auto}}
/* The gap around a note also applies under the last note of a cell. */
html.notes-have-gap .slot>.item:not(:has(~ .item)){margin-bottom:var(--note-gap,6px)}

/* "Clear rows" button under the hour and time-of-day lists in settings */
.clean-rows-btn{display:block;width:100%;margin-top:6px}

/* Refined menus: a clear system font (Segoe UI on Windows, the system font elsewhere), lighter weights, thin neutral borders,
   and the group colour kept only as a slim accent line at the start of each group heading. */
.settings-popover,#menuPanel{font-family:"Segoe UI",system-ui,-apple-system,"Noto Sans Hebrew",Arial,sans-serif;color:#1f2937;-webkit-font-smoothing:antialiased}
.settings-popover>.settings-title-row h2{font-weight:600;font-size:1rem}
#settingsPanel .settings-group,#visionPanel .settings-group{border:1px solid #d5dae1;border-radius:4px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(16,24,40,.04)}
#settingsPanel .settings-group>summary,#visionPanel .settings-group>summary{background:#fff;border-radius:0;border-inline-start:3px solid var(--group-border,#d0d5dd);padding:9px 12px;font-size:.9rem;font-weight:600;color:#1f2937}
#settingsPanel .settings-group>summary:hover,#visionPanel .settings-group>summary:hover{filter:none;background:#f9fafb}
#settingsPanel .settings-group[open]>summary,#visionPanel .settings-group[open]>summary{border-radius:0;border-bottom:1px solid #eef0f3;background:color-mix(in srgb,var(--group-bg,#fff) 45%,#fff)}
#settingsPanel .settings-group>summary::after,#visionPanel .settings-group>summary::after{color:#98a2b3;font-size:.8rem}
#settingsPanel .settings-control,#visionPanel .settings-control{background:#fcfcfd;border-color:#eceef2;font-weight:500}
#settingsPanel .settings-control span,#visionPanel .settings-control span,#settingsPanel label,#visionPanel label{font-weight:500}
#settingsPanel .settings-row label,#settingsPanel .days-settings strong{font-weight:600}
#menuPanel .menu-item{font-weight:500}
.vision-templates h3,.vision-template-card strong,.vision-template-confirm p{font-weight:600}

/* Note editing window: line icons, width set by the icons, colour panels open inside the window under the buttons. */
.floating-toolbar{width:max-content;max-width:calc(100vw - 20px);min-height:0;padding:4px;gap:3px;border-radius:10px;font-family:"Segoe UI",system-ui,-apple-system,"Noto Sans Hebrew",Arial,sans-serif}
.floating-toolbar .toolbar-row{gap:2px;flex-wrap:nowrap;justify-content:flex-start}
.floating-toolbar .toolbar-row-primary{padding-bottom:3px}
.floating-toolbar .tool-btn{position:relative;min-width:32px;width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#475467}
.floating-toolbar .tool-btn .tool-icon{width:18px;height:18px;display:block;flex:none}
.floating-toolbar #toolbarMovePrevious,.floating-toolbar #toolbarMoveNext{width:auto;padding-inline:8px}
.floating-toolbar .tool-btn .color-bar{position:absolute;left:8px;right:8px;bottom:4px;height:0;border-bottom:3px solid var(--accent);border-radius:2px;padding:0}
.floating-toolbar .text-color-btn .tool-icon,.floating-toolbar .highlight-btn .tool-icon{margin-top:-4px}
.floating-toolbar .highlight-btn .color-bar{border-bottom-color:#fef08a}
.floating-toolbar .toolbar-panel{position:static;inset:auto;width:0;min-width:100%;border-radius:0;border-top:1px solid #e7eaee;padding:6px 2px 2px;grid-template-rows:auto auto;gap:6px;z-index:auto}
.floating-toolbar .toolbar-panel-title{font-size:.8rem;font-weight:600;color:#344054}
.floating-toolbar .toolbar-panel-title::before{display:none}
.floating-toolbar .toolbar-panel-close{width:24px;height:24px;min-width:24px}
.floating-toolbar .toolbar-panel-body{justify-content:flex-start;gap:6px;overflow:visible;padding:2px}
.floating-toolbar .toolbar-panel-body .swatch{width:22px;height:22px}
.floating-toolbar #iconChoices .toolbar-panel-body{max-height:150px;overflow:auto;gap:3px}
.floating-toolbar #iconChoices .icon-choice{width:32px;height:32px;font-size:18px}
@media(max-width:760px){.floating-toolbar{left:50%!important;right:auto!important;transform:translateX(-50%);width:max-content}}

/* Morning / noon / evening cells without hours: the same "+" pill sits right under the last note, so another note can be added. */
.week-grid.time-mode .period-cell .slot[data-time=""]:has(>.item)::after{content:"+";display:flex;flex:none;align-self:center;align-items:center;justify-content:center;width:34px;height:14px;margin:4px 0 2px;border:1px solid #d0d5dd;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.12);color:#98a2b3;font-size:.8rem;font-weight:700;line-height:1;opacity:0;cursor:pointer;transition:opacity .12s}
.week-grid.time-mode .period-cell .slot[data-time=""]:has(>.item):hover::after{opacity:.85}
@media(hover:none){.week-grid.time-mode .period-cell .slot[data-time=""]:has(>.item)::after{opacity:.5}}
@media print{.week-grid.time-mode .period-cell .slot[data-time=""]:has(>.item)::after{display:none}}

/* Print button sits to the right of the settings button in the header. */
.header-right-actions #visionBtn{order:1}
.header-right-actions #printBtn{order:2;display:inline-flex!important}
.header-right-actions #settingsBtn{order:3;display:inline-flex!important}
.header-right-actions #loginBtn{order:4}
.header-right-actions #menuBtn{order:5}

/* Notes window: a "+" to add another note. Below the board it floats at the end of the row of notes; in the side window it sits under the last note. */
#freeTextSlot:has(>.item)::after{content:"+";display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid #d0d5dd;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.12);color:#98a2b3;font-size:.95rem;font-weight:700;line-height:1;opacity:0;cursor:pointer;transition:opacity .12s;position:absolute;inset-inline-end:4px;top:50%;transform:translateY(-50%);z-index:30;pointer-events:none}
#freeTextSlot:has(>.item):hover::after{opacity:.85;pointer-events:auto}
.side-notes #freeTextSlot:has(>.item)::after{position:static;transform:none;align-self:center;width:34px;height:14px;margin:4px 0 2px;font-size:.8rem;flex:none}
@media(hover:none){#freeTextSlot:has(>.item)::after{opacity:.5;pointer-events:auto}}
@media print{#freeTextSlot:has(>.item)::after{display:none}}

/* Modern line icons in the top bar */
.site-header .icon-btn .hdr-svg{width:20px;height:20px;fill:none;stroke:#111;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
@media(max-width:700px){.site-header .icon-btn .hdr-svg{width:19px;height:19px}}

/* Top bar: the small icon strip sits above the board title, pinned to the top-left corner (screen only; print and full-screen display have no icons). */
@media screen{
  body:not(.fullscreen-display) .site-header .header-inner{padding-top:46px}
  body:not(.fullscreen-display) .site-header .header-right-actions{position:absolute;left:16px;right:auto;top:8px;grid-area:auto;grid-column:auto;grid-row:auto;gap:5px;z-index:5;width:auto}
  .site-header .header-right-actions>.icon-btn{min-width:30px;width:30px;height:30px;border-radius:9px}
  .site-header .header-right-actions>.icon-btn svg{width:17px;height:17px}
  html[dir] #menuPanel{top:38px}
  html[dir] #settingsPanel,html[dir] #visionPanel,html[dir] #accessibilityPanel{left:16px;right:auto;top:44px}
}
@media screen and (max-width:700px){
  body:not(.fullscreen-display) .site-header .header-inner{padding-top:42px;grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "desc";row-gap:0}
  body:not(.fullscreen-display) .site-header .header-right-actions{left:10px;top:6px}
  html[dir] #menuPanel{top:38px}
  html[dir] #settingsPanel,html[dir] #visionPanel{left:10px;right:10px;top:42px}
  html[dir] body:not(.fullscreen-display) .header-inner .board-title-line{justify-content:center!important}
  html[dir] body:not(.fullscreen-display) .header-inner .editable-title{text-align:center!important}
  html[dir] body:not(.fullscreen-display) .header-inner .editable-description{text-align:center!important;line-height:1.25;padding:0;margin:0}
}

/* Background colour for a whole day or time-of-day area */
@media screen{
  .area-has-btn{position:relative!important}
  .area-color-btn{position:absolute;top:2px;inset-inline-end:2px;width:18px;height:18px;min-width:0;padding:0;border:0;border-radius:6px;background:transparent;color:#667085;display:flex;align-items:center;justify-content:center;opacity:0;cursor:pointer;z-index:6}
  .area-color-btn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
  .area-has-btn:hover>.area-color-btn,.area-color-btn:focus-visible{opacity:.85}
  .area-color-btn:hover{background:rgba(255,255,255,.8)}
  @media(hover:none){.area-color-btn{opacity:.4}}
}
.area-color-pop{position:fixed;z-index:3000;display:grid;grid-template-columns:repeat(5,26px);gap:6px;padding:8px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(16,24,40,.18)}
.area-color-pop .swatch{width:26px;height:26px;border-radius:8px;border:1px solid #d0d5dd;cursor:pointer;padding:0}
.area-color-pop .swatch.active{outline:2px solid #ff7a00;outline-offset:1px}
@media print{.area-color-btn,.area-color-pop{display:none!important}}
body.fullscreen-display .area-color-btn{display:none!important}

/* Period cells: on a screen with a mouse the "+" pill floats under the note and takes no room (negative bottom margin cancels its height); touch screens keep it in the flow. */
@media(hover:hover){.week-grid.time-mode .period-cell .slot[data-time=""]:has(>.item)::after{margin:4px 0 -18px;position:relative;z-index:5}}

/* Print: the note's bottom border carries the note colour, so it showed as a thin coloured line when background graphics are off. The grey "notes have border" line stays (it has a more specific rule). The line between morning / noon / evening rows is a little thicker so it does not vanish in a small preview. */
@media print{
  .item{border-bottom-color:transparent!important}
  .week-grid.time-mode .period-cell,.week-grid.time-mode .time-label.period-label{border-bottom:.4mm solid #4b5563!important}
}

/* Cloud account: status dot on the sign-in button and the account dialog */
#loginBtn{position:relative}
#loginBtn[data-cloud]::after{content:"";position:absolute;bottom:2px;inset-inline-end:2px;width:9px;height:9px;border-radius:50%;border:1.5px solid #fff;background:#98a2b3;pointer-events:none}
#loginBtn[data-cloud="synced"]::after{background:#16a34a}
#loginBtn[data-cloud="saving"]::after,#loginBtn[data-cloud="pending"]::after{background:#f59e0b}
#loginBtn[data-cloud="error"]::after{background:#dc2626}
.account-dialog{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto}
.account-dialog h2{margin:0 0 10px;padding-inline-end:28px}
.account-dialog h3{margin:0;font-size:.98rem}
.account-dialog h3 small{font-weight:400;color:#667085}
.account-block{margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f0}
.account-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.account-status{margin:6px 0 10px;color:#475467;font-size:.92rem}
.account-status[data-state="synced"]{color:#166534}
.account-status[data-state="error"]{color:#b42318}
.account-error{margin:8px 0;padding:8px 10px;border:1px solid #ffc8d1;border-radius:10px;background:#fff0f3;color:#b42318;font-size:.9rem}
.account-form{display:grid;gap:10px;margin-top:12px}
.account-form label{display:grid;gap:4px;font-weight:700;font-size:.92rem}
.account-form input[name=name]{border:1px solid var(--border);border-radius:10px;padding:9px;background:#fff}
.account-form .account-terms{display:flex;gap:8px;align-items:flex-start;font-weight:400}
.account-form .account-terms input{margin-top:3px;accent-color:var(--accent)}
.account-form .btn:disabled{opacity:.5;cursor:not-allowed}
.account-boards{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.account-board{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:12px}
.account-board.is-current{border-color:#ffc58b;background:#fff7ed}
.account-board-main{display:grid;min-width:0}
.account-board-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-board-title{display:flex;align-items:center;gap:6px;min-width:0}
.account-board-main small{color:#667085}
.account-board-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.account-board-actions .btn{padding:5px 10px;font-size:.86rem}
.account-current{font-size:.82rem;color:#7a3b00;font-weight:700}
.account-board.account-open{cursor:pointer;transition:background-color .12s,border-color .12s}
.account-board.account-open:hover{background:#f8fafc;border-color:#cbd5e1}
.account-board.is-current.account-open:hover{background:#fff1e0;border-color:#ffb066}
.account-board-main .account-status{margin:0;font-size:.82rem}
.account-ask{z-index:3100}
.account-ask-box{width:min(420px,100%)}
.account-ask-input{display:block;width:100%;margin-top:12px;border:1px solid var(--border);border-radius:10px;padding:9px;background:#fff;font:inherit;direction:ltr;text-align:start}
.account-ask .account-error{margin-top:8px}
.btn.danger{background:#b42318;border-color:#b42318;color:#fff}
.btn.danger:hover{background:#912018;border-color:#912018}
.account-bulb{filter:saturate(1.4)}
.account-dialog details{margin-top:10px}
.account-dialog summary{cursor:pointer;color:#475467;font-size:.92rem}
.account-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid #e2e8f0}
@media(max-width:520px){.account-board{flex-direction:column;align-items:stretch}.account-board-actions{justify-content:flex-end}}
@media print{.account-backdrop,#loginBtn::after{display:none!important}}
body.fullscreen-display .account-backdrop{display:none!important}

/* Sharing: shared-board tab, yellow bulb, share panel */
html.plan-view-loading main{visibility:hidden}
html.plan-view .guest-disclaimer-backdrop:not(.account-backdrop){display:none!important}
.plan-view-banner{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:14px auto 10px;padding:6px 14px;max-width:560px;border:1px solid #fde68a;border-radius:999px;background:#fffbeb;color:#92400e;font-size:.9rem}
.plan-view-banner a{color:#92400e;font-weight:700}
body.board-readonly .item-drag-zone,body.board-readonly .area-color-btn,body.board-readonly #settingsBtn,body.board-readonly #visionBtn{display:none!important}
body.board-readonly .slot,body.board-readonly .item{cursor:default}
.plan-shared-bulb{margin-inline-start:8px;font-size:1.3rem;line-height:1;align-self:center;cursor:help}
.account-email{margin:-6px 0 8px;color:#667085;font-size:.86rem;direction:ltr;text-align:start}
.account-role{display:inline-block;margin-inline-start:6px;padding:1px 8px;border-radius:999px;background:#f1f5f9;color:#475467;font-size:.78rem;font-weight:700}
.account-inline{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.account-inline input[type=email],.account-inline input[name=password]{flex:1 1 160px;min-width:0;border:1px solid var(--border);border-radius:10px;padding:8px;background:#fff}
.account-inline select,.account-link select,.account-board-actions select{border:1px solid var(--border);border-radius:10px;padding:6px 8px;background:#fff;font:inherit}
.account-check{display:inline-flex;align-items:center;gap:6px;font-weight:400;font-size:.9rem}
.account-link{display:grid;gap:6px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:12px}
.account-link-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.account-link-url{width:100%;border:1px solid var(--border);border-radius:8px;padding:6px 8px;background:#f8fafc;font-size:.8rem;direction:ltr;text-align:left}
.account-link .account-board-actions{flex-wrap:wrap;justify-content:flex-start}
@media print{.plan-view-banner,.plan-shared-bulb{display:none!important}}

/* Header icon strip: print first, then ready prints, templates, add items, settings, account, menu. The strip follows the page direction (left in Hebrew, right in English). */
.header-right-actions #printBtn{order:1}
.header-right-actions #readyPrintsLink{order:2}
.header-right-actions #templatesLink{order:3}
.header-right-actions #visionBtn{order:4}
.header-right-actions #settingsBtn{order:5}
.header-right-actions #loginBtn{order:6}
.header-right-actions #menuBtn{order:7}
a.icon-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit}
@media screen{
  html[dir="ltr"] body:not(.fullscreen-display) .site-header .header-right-actions{left:auto;right:16px}
  html[dir="ltr"] #settingsPanel,html[dir="ltr"] #visionPanel,html[dir="ltr"] #accessibilityPanel{left:auto;right:16px}
}
@media screen and (max-width:700px){
  html[dir="ltr"] body:not(.fullscreen-display) .site-header .header-right-actions{right:10px}
  html[dir="ltr"] #settingsPanel,html[dir="ltr"] #visionPanel{left:10px;right:10px}
}
html[dir="ltr"] .guest-disclaimer-close{left:auto;right:8px}

/* Menu: every link looks the same; the language selector is the last item. */
#menuPanel .menu-item,#menuPanel .menu-paired-row .menu-item{min-height:26px;padding:3px 10px;justify-content:flex-start;font-size:.84rem;font-weight:500;line-height:1.2;color:var(--text)}
#menuPanel .menu-paired-row .menu-item:hover{color:var(--text)}
#menuPanel .menu-language-control{order:3;margin-top:4px;padding-top:4px;border-top:1px solid var(--border)}
.plan-shared-bulb{flex:none;margin:0 0 0 2px;font-size:clamp(1.15rem,2.4vw,1.9rem);align-self:center}
.account-form .account-check,.account-inline .account-check{display:inline-flex;font-weight:400}

/* Icon strip, new order: the three pages (planning board, ready prints, templates), a faint separator, then the actions. The icon of the page you are on is orange. */
.header-right-actions #homeLink{order:1}
.header-right-actions #readyPrintsLink{order:2}
.header-right-actions #templatesLink{order:3}
.header-right-actions #hdrSep{order:4}
.header-right-actions #printBtn{order:5}
.header-right-actions #visionBtn{order:6}
.header-right-actions #settingsBtn{order:7}
.header-right-actions #loginBtn{order:8}
.header-right-actions #menuBtn{order:9}
.hdr-sep{align-self:center;width:1px;height:18px;margin:0 3px;background:#d9dee7;flex:none}
.site-header .icon-btn.is-current{border-color:#ffb066;background:#fff1e0}
.site-header .icon-btn.is-current .hdr-svg{stroke:#e66a00}

/* "(💡 This board is shared)" beside the title of a board the owner shares: small, with "shared" opening the sharing window. */
.plan-shared-bulb{flex:none;margin:0;align-self:center;font-size:.82rem;font-weight:400;line-height:1.3;color:#667085;white-space:nowrap;cursor:default}
.plan-shared-link{padding:0;border:0;background:none;color:#b45309;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.plan-shared-link:hover{color:#7a3b00}
@media(max-width:700px){.plan-shared-bulb{order:2;flex:0 0 100%;text-align:center}.board-title-line:has(.plan-shared-bulb){flex-wrap:wrap}}
.account-link .btn.is-copied{background:#ecfdf3;border-color:#a6e4c0;color:#166534}

/* Icon strip, final order (Hebrew, right to left): print, add items, settings, account, menu, separator, ready prints, templates, planning board.
   So the three pages sit at the left end with the planning board first. English mirrors it. */
.header-right-actions #printBtn{order:1}
.header-right-actions #visionBtn{order:2}
.header-right-actions #settingsBtn{order:3}
.header-right-actions #loginBtn{order:4}
.header-right-actions #menuBtn{order:5}
.header-right-actions #hdrSep{order:6}
.header-right-actions #readyPrintsLink{order:7}
.header-right-actions #templatesLink{order:8}
.header-right-actions #homeLink{order:9}

/* Same page width with or without a vertical scrollbar, so the top bar and the board do not shift between pages. */
html{scrollbar-gutter:stable}

/* Share window heading: the title in the middle, "back" as a plain link on the same row (at the start side). */
.account-share-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:0 0 6px}
.account-dialog .account-share-head h2{grid-column:2;margin:0;padding:0;text-align:center}
.account-back{grid-column:1;grid-row:1;justify-self:start;padding:0;border:0;background:none;color:#b45309;font:inherit;font-size:.92rem;font-weight:600;text-decoration:underline;cursor:pointer;white-space:nowrap}
.account-back:hover{color:#7a3b00}
@media(max-width:520px){.account-share-head{grid-template-columns:auto 1fr auto}.account-dialog .account-share-head h2{font-size:1rem}}

/* Site profile (spec chapter 39): a site without templates / prints pages does not show their icons. */
.site-no-templates #templatesLink,.site-no-templates .page-icon[href$="templates/"]{display:none!important}
.site-no-prints #readyPrintsLink,.site-no-prints .page-icon[href$="prints/"]{display:none!important}
