.today-root{--sidebar:#44403c;--warn-bg:#ffedd5;--stub:#a8a29e;height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;font-size:14px;line-height:1.4;background:var(--bg);color:var(--text)}.today-root a{color:var(--accent);text-decoration:none}.today-root a:hover{text-decoration:underline}.today-root .shell-top{width:100%;margin:0;padding:.3rem .85rem;flex-shrink:0;background:var(--bg);display:flex;align-items:center;justify-content:space-between;gap:.65rem}.today-root .shell-top h1{margin:0;font-size:1.1rem;flex-shrink:0}.today-root .shell-top__right{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.45rem .75rem;min-width:0}.today-root .nav{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:0;font-size:.95rem}.today-root .nav a[aria-current=page]{font-weight:700;color:var(--text)}.today-root .shell-top .btn-link{font-size:.95rem;flex-shrink:0}.today-root .user-line{margin:0;font-size:.9rem;color:var(--muted);white-space:nowrap}.today-root .page-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .65rem;width:calc(100% - 2rem);max-width:none;margin:0 auto .35rem;padding:.35rem .65rem;background:var(--card);border:1px solid var(--line);border-radius:8px;flex-shrink:0}.today-root .page-bar label{color:var(--muted);font-size:.8rem;margin-right:.2rem}.today-root .page-bar input[type=date],.today-root .page-bar select{border:1px solid var(--line);border-radius:6px;padding:.25rem .4rem;font:inherit;background:#fff}.today-root .period{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.today-root .period__label{color:var(--muted);font-size:.85rem}.today-root .period__preset{position:relative}.today-root .period__preset-btn{min-width:8.5rem;text-align:left}.today-root .period__menu{position:absolute;top:calc(100% + 4px);left:0;z-index:50;margin:0;padding:.25rem;list-style:none;min-width:12rem;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12)}.today-root .period__menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:.4rem .55rem;border-radius:6px;font:inherit;color:inherit;cursor:pointer}.today-root .period__menu button:hover{background:#f5f5f4}.today-root .period__menu li[aria-selected=true] button{background:#ecfdf5;color:var(--accent);font-weight:600}.today-root .period__sep{color:var(--muted)}.today-root .period__dates{margin:0}.today-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.today-root .page-bar .spacer{flex:1 1}.today-root .page-bar .btn{background:var(--accent);color:#fff;border:0;border-radius:6px;padding:.45rem .85rem;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}.today-root .page-bar .btn-ghost{background:#e7e5e4;color:var(--text)}.today-root .page-bar .btn:hover{text-decoration:none;filter:brightness(1.05)}.today-root .modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(28,25,23,.35);display:flex;align-items:flex-start;justify-content:center;padding:4rem 1rem 1rem;overflow:auto}.today-root .modal{width:min(640px,100%);max-height:min(92dvh,860px);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.12)}.today-root .modal__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .9rem;border-bottom:1px solid var(--line);background:#e7e5e4}.today-root .modal__head h3{margin:0;font-size:1rem}.today-root .modal__form{display:grid;grid-gap:.75rem;gap:.75rem;padding:.9rem}.today-root .modal__form label{display:grid;grid-gap:.25rem;gap:.25rem;font-size:.85rem;color:var(--muted)}.today-root .modal__form input,.today-root .modal__form select,.today-root .modal__form textarea{font:inherit;padding:.4rem .5rem;border:1px solid var(--line);border-radius:6px;color:inherit;background:#fff}.today-root .modal__form textarea{resize:vertical;min-height:4rem}.today-root .modal__form .form-flags{margin:0;padding:.55rem .65rem;border:1px solid var(--line);border-radius:6px;display:flex;flex-wrap:wrap;gap:.65rem 1rem}.today-root .modal__form .form-flags legend{padding:0 .25rem;font-size:.85rem;color:var(--muted)}.today-root .modal__form .form-check{display:inline-flex;align-items:center;gap:.35rem;margin:0;font-size:.9rem;color:var(--text)}.today-root .modal__form .form-check--block{flex:1 1 100%}.today-root .modal__form .contact-picker{position:relative;display:grid;grid-gap:.25rem;gap:.25rem}.today-root .modal__form .contact-picker__list{position:absolute;z-index:5;top:calc(100% + 2px);left:0;right:0;margin:0;padding:.25rem 0;list-style:none;max-height:11rem;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 20px rgba(0,0,0,.1)}.today-root .modal__form .contact-picker__list button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:.4rem .65rem;font:inherit;color:var(--text);cursor:pointer}.today-root .modal__form .contact-picker__list button:focus,.today-root .modal__form .contact-picker__list button:hover{background:#f5f5f4}.today-root .modal__form .contact-picker__list button.is-new{color:var(--accent);font-weight:600}.today-root .modal__form .contact-picker__empty{padding:.45rem .65rem;color:var(--muted);font-size:.85rem}.today-root .modal__form .form-check input{width:auto;margin:0}.today-root .modal__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.today-root .modal__actions .btn{background:var(--accent);color:#fff;border:0;border-radius:6px;padding:.45rem .85rem;font:inherit;cursor:pointer}.today-root .modal__actions .btn-ghost{background:#e7e5e4;color:var(--text)}.today-root .modal__actions .btn-link,.today-root .modal__head .btn-link{background:none;border:0;color:var(--accent);font:inherit;cursor:pointer;padding:0}.today-root .flash{margin:0 auto .5rem;flex-shrink:0}.today-root .desk,.today-root .flash{width:calc(100% - 2rem);max-width:none}.today-root .desk{display:grid;grid-template-columns:200px minmax(0,2fr) minmax(180px,1fr);grid-template-rows:minmax(0,1fr) minmax(120px,.55fr) minmax(0,1.15fr);grid-gap:.65rem;gap:.65rem;margin:0 auto .65rem;align-items:stretch;flex:1 1 auto;min-height:0}.today-root .side{grid-row:1/4;background:var(--sidebar);color:#fafaf9;border-radius:8px;padding:.85rem;min-height:0;overflow:auto}.today-root .side h3{margin:0 0 .5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#a8a29e}.today-root .side .stack{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.today-root .side .side-btn{width:100%;text-align:left;background:#57534e;color:#fff;border:0;border-radius:5px;padding:.45rem .55rem;font:inherit;cursor:pointer;font-size:.85rem;display:block;text-decoration:none;box-sizing:border-box}.today-root .side .side-btn:hover{background:#78716c;color:#fff;text-decoration:none}.today-root .side .side-btn.is-current{background:var(--accent)}.today-root .side .side-btn.is-stub{opacity:.55;cursor:default}.today-root .metrics{font-size:.8rem;border-top:1px solid #57534e;padding-top:.75rem}.today-root .metrics h3{margin:.85rem 0 .5rem}.today-root .metrics h3:first-child{margin-top:0}.today-root .metrics table{width:100%;border-collapse:collapse}.today-root .metrics td,.today-root .metrics th{padding:.25rem 0;text-align:left;border-bottom:1px solid #57534e}.today-root .metrics th{color:#a8a29e;font-weight:500}.today-root .stub{color:var(--stub);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.today-root .panel{background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;min-width:0;min-height:0;display:flex;flex-direction:column}.today-root .panel-head{display:flex;align-items:center;gap:.35rem;padding:.3rem .55rem;background:#e7e5e4;border-bottom:1px solid var(--line);flex-shrink:0}.today-root .panel-head h2{margin:0;font-size:.875rem}.today-root .panel-head .count{font-size:.78rem;color:var(--muted)}.today-root .panel-head .tools{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem}.today-root .leads-report__period{display:grid;grid-gap:.35rem;gap:.35rem}.today-root .leads-report__label{font-size:.85rem;color:var(--muted)}.today-root .leads-report__kv{display:grid;grid-template-columns:1fr auto;grid-gap:.45rem 1rem;gap:.45rem 1rem;margin:.25rem 0 0;font-size:.95rem}.today-root .leads-report__kv dt{margin:0;color:var(--muted)}.today-root .leads-report__kv dd{margin:0;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.today-root .modal.modal--wide{width:min(520px,100%)}.today-root .panel.leads tr.lead-opened td{opacity:.85}.today-root .panel.leads tr.lead-opened a{color:var(--ok,#166534)}.today-root .panel.leads tr.lead-refuse td{background:#fecaca}.today-root .panel.leads tr.lead-refuse a{color:#7f1d1d}.today-root .panel.leads tr.lead-retail td{background:#bbf7d0}.today-root .panel.leads tr.lead-retail a{color:#14532d}.today-root .panel.todo .panel-head{background:#fde68a}.today-root .panel.todo table.data tbody tr{height:calc(1.3em * 2 + .5rem);max-height:calc(1.3em * 2 + .5rem)}.today-root .panel.todo table.data tbody td{vertical-align:top;padding-top:.25rem;padding-bottom:.25rem;overflow:hidden}.today-root .panel.todo .task-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;max-height:calc(1.3em * 2);white-space:normal;word-break:break-word}.today-root table.data tr.task-due--overdue td{background:#fecaca}.today-root table.data tr.task-due--today td{background:#fef3c7}.today-root table.data tr.task-due--upcoming td{background:#bbf7d0}.today-root .panel.follow .panel-head{background:#e7e5e4}.today-root .panel.care{grid-column:2/4;min-height:0}.today-root .panel.care .panel-head{background:#ffedd5}.today-root .panel-scroll{flex:1 1 auto;min-height:0;overflow:auto}.today-root .follow{grid-column:2/4;min-height:0}.today-root .follow .kanban-wrap{padding:.5rem .6rem .65rem;overflow:auto;flex:1 1 auto;min-height:0}.today-root .kanban{display:flex;gap:.55rem;align-items:stretch;height:100%;min-height:10rem}.today-root .kanban-col{flex:0 0 180px;max-width:180px;background:#fafaf9;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;min-height:0;max-height:100%}.today-root .kanban-col__head{display:flex;justify-content:space-between;align-items:center;gap:.35rem;padding:.4rem .5rem;border-radius:8px 8px 0 0;font-size:.78rem;font-weight:600;background:#e7e5e4;flex-shrink:0}.today-root .kanban-col__head.phase-qualify{background:#f5f5f4}.today-root .kanban-col__head.phase-draft{background:#fef3c7}.today-root .kanban-col__head.phase-work{background:#dbeafe}.today-root .kanban-col__head.phase-ready{background:#dcfce7}.today-root .kanban-col__head.phase-ship{background:#ccfbf1}.today-root .kanban-col__head.phase-done{background:#e7e5e4}.today-root .kanban-col__head.phase-cancel{background:#f5f5f4;color:#78716c}.today-root .kanban-col__head.phase-hold{background:#fecaca}.today-root .kanban-col__count{opacity:.85;flex-shrink:0}.today-root .kanban-col__body{padding:.35rem;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem;flex:1 1 auto;min-height:0}.today-root .kanban-card{display:flex;flex-direction:column;gap:.12rem;padding:.4rem .45rem;background:#fff;border:1px solid var(--line);border-left-width:4px;border-radius:6px;color:inherit;font-size:.78rem;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.today-root .kanban-card:hover{border-color:var(--accent)}.today-root .kanban-card__top{display:flex;align-items:baseline;justify-content:space-between;gap:.35rem}.today-root .kanban-card__open{font-size:.7rem;flex-shrink:0}.today-root .kanban-card--prod{border-left-color:#0f766e}.today-root .kanban-card--purch{border-left-color:#1d4ed8}.today-root .kanban-card__id{font-size:.7rem;color:var(--muted)}.today-root .kanban-card__name{font-weight:600;line-height:1.25}.today-root .kanban-card__meta{color:var(--muted);font-size:.72rem}.today-root .kanban-empty{margin:.25rem;font-size:.78rem;color:var(--muted)}.today-root table.data{width:100%;border-collapse:collapse;font-size:.8rem}.today-root table.data td,.today-root table.data th{padding:.35rem .45rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.today-root table.data th{color:var(--muted);font-weight:600;white-space:nowrap;background:#fafaf9;position:-webkit-sticky;position:sticky;top:0;z-index:1}.today-root table.data tr.urgent td{background:var(--warn-bg)}.today-root .badge{display:inline-block;padding:.1rem .4rem;border-radius:4px;font-size:.75rem;background:#e7e5e4;color:var(--text)}.today-root .badge--open{background:#dbeafe}.today-root .badge--draft{background:#fef3c7}.today-root .badge--ready{background:#dcfce7}.today-root .badge--prod{background:#ccfbf1}.today-root .badge--purch{background:#e0e7ff}.today-root .notes{color:var(--muted);max-width:14rem}.today-root .muted{color:var(--muted)}@media (max-height:780px){.today-root .shell-top{padding-top:.25rem;padding-bottom:.25rem}.today-root .shell-top h1{font-size:1rem}}@media (max-width:960px){.today-root{height:auto;max-height:none;overflow:auto}.today-root .desk{grid-template-columns:1fr;grid-template-rows:auto;height:auto}.today-root .follow,.today-root .panel.care,.today-root .side{grid-column:1;grid-row:auto}.today-root .panel{max-height:50vh}}