@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--ink:#202422;--muted:#737873;--paper:#f4f1eb;--surface:#fbfaf7;--line:#dedbd4;--line-dark:#c9c5bc;--blue:#4264e8;--blue-soft:#e8ecff;--orange:#d26a3a;--orange-soft:#f8e8df;--violet:#8357c5;--violet-soft:#eee6f9;--mint:#25856a;--mint-soft:#e1f2eb;--amber:#a87313;--amber-soft:#f8ebc9;--coral:#bc554c;--coral-soft:#f8e1df;--radius:10px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Manrope,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.app-shell{min-height:100dvh;display:flex}.sidebar{border-right:1px solid var(--line);background:#eeece6;flex-direction:column;flex:0 0 224px;width:224px;padding:27px 16px 18px;display:flex}.brand{letter-spacing:-.04em;align-items:center;gap:10px;padding:0 10px 49px;font-size:17px;font-weight:800;display:flex}.brand-symbol{background:var(--ink);width:29px;height:29px;color:var(--paper);border-radius:8px;place-items:center;display:grid}.brand-dot{color:var(--blue)}.sidebar-label,.eyebrow,.summary-kicker{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:10px}.sidebar-label{padding:0 12px 12px}.nav-item{min-height:44px;color:var(--muted);border-radius:7px;align-items:center;gap:11px;padding:0 12px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.nav-item.active{color:var(--ink);background:#e2dfd7}.nav-icon{flex:0 0 18px}.grid-icon{grid-template-columns:repeat(2,6px);gap:3px;display:grid}.grid-icon i{border:1.5px solid;border-radius:1px;width:6px;height:6px}.sidebar-bottom{margin-top:auto}.connection-state{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding:16px 12px;font-size:11px;display:flex}.live-dot,.detail-dot,.status-dot{border-radius:50%;display:inline-block}.live-dot{background:var(--mint);width:7px;height:7px}.user-card{border-top:1px solid var(--line);align-items:center;gap:9px;padding:12px;display:flex}.user-card strong,.user-card small{display:block}.user-card strong{font-size:12px}.user-card small{color:var(--muted);margin-top:3px;font-size:10px}.user-card svg{color:var(--muted);margin-left:auto;transform:rotate(90deg)}.avatar{background:#d8d3cb;border-radius:50%;place-items:center;width:28px;height:28px;font-family:DM Mono,monospace;font-size:10px;display:grid}.main-content{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:76px;padding:0 clamp(22px,4vw,59px);display:flex}.breadcrumb,.date-display{color:var(--muted);align-items:center;gap:9px;font-size:12px;display:flex}.breadcrumb strong{color:var(--ink);font-weight:700}.date-display{color:var(--ink)}.date-display svg{color:var(--muted)}.content-wrap{max-width:1410px;margin:0 auto;padding:47px clamp(22px,4vw,59px) 30px}.intro{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:34px;display:flex}.eyebrow{color:var(--blue);margin:0 0 14px}.intro h1{letter-spacing:-.06em;margin:0;font-size:clamp(31px,3vw,46px);font-weight:800;line-height:1.05}.intro-copy{max-width:550px;color:var(--muted);margin:14px 0 0;font-size:14px;line-height:1.65}.refresh-button{border:1px solid var(--line-dark);min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:700;display:flex}.refresh-button:hover{background:var(--surface);border-color:var(--ink)}.summary-strip{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:center;gap:27px;min-height:93px;margin-bottom:35px;padding:20px 26px;display:flex}.summary-main{align-items:baseline;gap:11px;display:flex}.summary-number{letter-spacing:-.06em;font-size:31px;font-weight:800}.summary-label{color:var(--muted);font-size:12px}.summary-separator{background:var(--line);width:1px;height:35px}.summary-context{flex-direction:column;gap:6px;display:flex}.summary-kicker{font-size:9px}.summary-context strong{font-size:12px;font-weight:700}.toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:19px;display:flex}.filter-tabs{align-items:center;gap:6px;display:flex}.filter-tab{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 14px;font-size:12px;font-weight:700}.filter-tab:hover{color:var(--ink);background:#e9e6df}.filter-tab.selected{color:var(--ink);background:var(--surface);box-shadow:0 1px 3px #25231e14}.search-box{border:1px solid var(--line);background:var(--surface);width:min(260px,100%);min-height:40px;color:var(--muted);border-radius:6px;align-items:center;gap:8px;padding:0 12px;display:flex}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.search-box input::placeholder{color:#92958e}.boards{gap:28px;display:grid}.board{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.board-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:75px;padding:17px 20px;display:flex}.board-title-wrap{align-items:center;gap:12px;display:flex}.set-mark{border-radius:4px;width:5px;height:37px}.set-mark.blue{background:var(--blue)}.set-mark.orange{background:var(--orange)}.set-mark.violet{background:var(--violet)}.board h2{letter-spacing:-.03em;margin:0;font-size:16px}.board-header p{color:var(--muted);margin:4px 0 0;font-size:11px}.board-count{color:var(--muted);font-family:DM Mono,monospace;font-size:10px}.board-columns{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.kanban-column{border-right:1px solid var(--line);min-width:0;padding:18px 17px 20px}.kanban-column:last-child{border-right:0}.column-heading{justify-content:space-between;align-items:center;font-size:11px;display:flex}.column-heading>div{align-items:center;gap:8px;display:flex}.status-dot{width:8px;height:8px}.status-dot.mint{background:var(--mint)}.status-dot.amber{background:var(--amber)}.status-dot.coral{background:var(--coral)}.column-count{min-width:21px;height:21px;color:var(--muted);background:#eeeae3;border-radius:5px;place-items:center;font-family:DM Mono,monospace;font-size:10px;display:grid}.column-note{color:var(--muted);margin:7px 0 14px 16px;font-size:10px}.column-items{gap:8px;display:grid}.item-card{border:1px solid var(--line);background:#fffefa;border-radius:7px;padding:14px;transition:border-color .16s,transform .16s}.item-card:hover{border-color:var(--line-dark);transform:translateY(-1px)}.item-topline,.item-owner{justify-content:space-between;align-items:center;display:flex}.item-id{border-radius:4px;padding:3px 5px;font-family:DM Mono,monospace;font-size:9px;font-weight:500}.item-id.blue{color:var(--blue);background:var(--blue-soft)}.item-id.orange{color:var(--orange);background:var(--orange-soft)}.item-id.violet{color:var(--violet);background:var(--violet-soft)}.move-button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.move-button:hover{color:var(--ink);background:#efebe4}.item-card h4{margin:12px 0 10px;font-size:12px;line-height:1.35}.item-detail,.item-owner{color:var(--muted);font-size:10px}.item-detail{align-items:center;gap:6px;display:flex}.detail-dot{background:var(--line-dark);width:5px;height:5px}.item-owner{border-top:1px solid #eeeae3;margin-top:15px;padding-top:10px}.owner-mark{color:var(--muted)}.empty-column{border:1px dashed var(--line-dark);min-height:74px;color:var(--muted);text-align:center;border-radius:7px;place-items:center;padding:15px;font-size:10px;display:grid}.global-empty{border:1px dashed var(--line-dark);border-radius:var(--radius);text-align:center;padding:55px 20px}.global-empty strong,.global-empty span{display:block}.global-empty span{color:var(--muted);margin-top:7px;font-size:12px}.page-footer{color:var(--muted);letter-spacing:.03em;justify-content:space-between;gap:20px;padding-top:27px;font-family:DM Mono,monospace;font-size:9px;display:flex}@media (width<=900px){.sidebar{flex-basis:70px;width:70px;padding:20px 10px 14px}.brand{padding:0 10px 40px}.brand>span:last-child,.sidebar-label,.nav-item:not(.active):after,.nav-item{font-size:0}.nav-item{justify-content:center;padding:0}.nav-item svg{width:19px;height:19px}.grid-icon{font-size:initial}.connection-state{justify-content:center;padding-inline:0;font-size:0}.user-card{padding-inline:9px}.user-card>div,.user-card>svg{display:none}.content-wrap{padding-inline:28px}.board-columns{scrollbar-width:thin;grid-template-columns:repeat(3,minmax(185px,1fr));overflow-x:auto}.kanban-column{min-width:185px}.board{overflow:hidden}}@media (width<=640px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;width:100%;height:61px;padding:0 16px}.brand{padding:0}.sidebar nav{gap:4px;margin-left:auto;display:flex}.sidebar .nav-item{width:44px;height:44px}.sidebar .nav-item.active{background:#e2dfd7}.sidebar-bottom,.sidebar-label{display:none}.topbar{height:62px;padding-inline:20px}.breadcrumb span,.breadcrumb svg{display:none}.date-display{font-size:11px}.content-wrap{padding:31px 16px 24px}.intro{margin-bottom:26px;display:block}.intro h1{font-size:34px}.intro-copy{font-size:13px;line-height:1.55}.refresh-button{justify-content:center;width:100%;margin-top:21px}.summary-strip{flex-wrap:wrap;gap:14px;margin-bottom:24px;padding:17px}.summary-main{width:100%}.summary-separator{display:none}.summary-context{padding-right:17px}.toolbar{margin-bottom:15px;display:block}.filter-tabs{padding-bottom:8px;overflow-x:auto}.filter-tab{flex:none}.search-box{width:100%}.boards{gap:18px}.board-header{padding-inline:16px}.board-columns{grid-template-columns:1fr;overflow:visible}.kanban-column{border-right:0;border-bottom:1px solid var(--line);min-width:0;padding:16px}.kanban-column:last-child{border-bottom:0}.column-items{grid-template-columns:repeat(2,minmax(0,1fr))}.page-footer{line-height:1.8;display:block}.page-footer span{display:block}}@media (width<=420px){.column-items{grid-template-columns:1fr}.date-display span{text-align:right;max-width:155px}.summary-context strong{font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@keyframes spin{to{transform:rotate(360deg)}}.live-dot.offline{background:var(--coral)}.refresh-button:hover:not(:disabled){background:var(--surface);border-color:var(--ink)}.refresh-button:disabled{cursor:wait;opacity:.55}.connection-alert,.loading-state{border-radius:7px;align-items:center;gap:10px;margin:-11px 0 23px;padding:13px 15px;font-size:11px;display:flex}.connection-alert{background:var(--coral-soft);color:#713b36;border:1px solid #e4b8b3}.connection-alert span{color:#8c514a;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.connection-alert button{color:#713b36;cursor:pointer;background:0 0;border:1px solid #b77b74;border-radius:5px;min-height:32px;margin-left:auto;padding:0 9px;font-size:11px;font-weight:700}.loading-state{border:1px solid var(--line);background:var(--surface);color:var(--muted)}.loading-spinner{border:2px solid var(--line-dark);border-top-color:var(--blue);border-radius:50%;flex:0 0 13px;width:13px;height:13px;animation:.7s linear infinite spin}.intro-actions{align-items:center;gap:8px;display:flex}.sound-button{border:1px solid var(--line-dark);background:var(--ink);min-height:44px;color:var(--paper);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:700;display:flex}.sound-button:hover{background:#3b403d}.sound-button.enabled{background:var(--mint);border-color:var(--mint)}.bell-test-button{background:var(--coral-soft);color:#713b36;cursor:pointer;border:1px solid #b77b74;border-radius:7px;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:12px;font-weight:700;display:flex}.bell-test-button:hover:not(:disabled){border-color:var(--coral);background:#f3d8d5}.bell-test-button:disabled{cursor:wait;opacity:.65}.reminder-alert{background:var(--amber-soft);color:#6d5210;border:1px solid #d2a321;border-radius:7px;align-items:center;gap:10px;margin:-11px 0 23px;padding:13px 15px;display:flex}.reminder-alert div{gap:3px;display:grid}.reminder-alert span{font-size:11px}.reminder-alert button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:11px;font-weight:700;text-decoration:underline}.horizontal-boards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.set-board{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;overflow:hidden}.set-board-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:78px;padding:16px;display:flex}.set-heading{align-items:center;gap:11px;min-width:0;display:flex}.set-heading h2{letter-spacing:-.03em;margin:0;font-size:16px}.set-heading p{max-width:180px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:10px;overflow:hidden}.set-state{border-radius:4px;flex:none;padding:5px 7px;font-family:DM Mono,monospace;font-size:9px}.set-state.reserved{color:#8a4e49;background:var(--coral-soft)}.set-state.available{color:#24664e;background:var(--mint-soft)}.set-board-body{align-content:start;gap:7px;min-height:180px;padding:10px;display:grid}.kanban-reservation{border:1px solid #e0b4b2;border-left:4px solid var(--coral);background:#faeeee;border-radius:7px;align-items:center;gap:9px;min-width:0;padding:10px 10px 10px 0;display:flex}.kanban-reservation.upcoming{border-color:#d2a321;border-left-color:var(--amber);background:#fff8df}.kanban-reservation .reservation-time{flex-basis:49px;width:49px;padding-left:8px}.upcoming-label{color:#735a13;background:#f2dfa2;border-radius:4px;flex:none;padding:4px 5px;font-family:DM Mono,monospace;font-size:8px}.set-empty{min-height:158px;color:var(--muted);justify-content:center;align-items:center;gap:9px;display:flex}.empty-check{background:var(--mint-soft);width:24px;height:24px;color:var(--mint);border-radius:50%;place-items:center;font-size:14px;display:grid}.set-empty strong,.set-empty span{display:block}.set-empty strong{color:var(--ink);font-size:11px}.set-empty span{margin-top:3px;font-size:10px}@media (width<=900px){.horizontal-boards{grid-template-columns:1fr}.set-board-body{min-height:0}.set-empty{min-height:100px}}@media (width<=640px){.intro-actions{grid-template-columns:1fr 1fr;margin-top:21px;display:grid}.intro-actions .sound-button,.intro-actions .refresh-button{justify-content:center;width:100%;padding-inline:8px}.reminder-alert{align-items:flex-start}.reminder-alert button{padding:0}.horizontal-boards{gap:12px}.set-board-header{padding-inline:14px}.kanban-reservation .reservation-info span{white-space:normal;line-height:1.3}}.content-wrap{padding-top:30px}.kanban-toolbar{margin-bottom:20px}.toolbar-actions{align-items:center;gap:8px;display:flex}.sync-status{color:var(--muted);align-items:center;gap:6px;margin-right:5px;font-family:DM Mono,monospace;font-size:9px;display:flex}.sync-status>span{background:var(--mint);border-radius:50%;width:6px;height:6px}.sync-status.loading>span{background:var(--amber)}.sync-status.error>span{background:var(--coral)}.sound-status{color:var(--mint);white-space:nowrap;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.date-picker{border:1px solid var(--line-dark);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:7px;padding:0 10px;font-size:11px;font-weight:700;display:flex}.date-picker input{max-width:124px;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0}@media (width<=900px){.toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.sync-status{order:1}.toolbar-actions .sound-button{order:2}.toolbar-actions .bell-test-button{order:3}.toolbar-actions .refresh-button{order:4}.toolbar-actions .search-box{order:5}}@media (width<=640px){.content-wrap{padding-top:16px}.kanban-toolbar{display:block}.toolbar-actions{grid-template-columns:auto 1fr 1fr;margin-top:8px;display:grid}.toolbar-actions .search-box{grid-column:1/-1;width:100%}.sync-status{margin:0}.toolbar-actions .sound-button,.toolbar-actions .bell-test-button,.toolbar-actions .refresh-button{justify-content:center;min-height:44px;padding-inline:8px}}.main-content{width:100%}.topbar{padding-inline:clamp(28px,5vw,78px)}.content-wrap{max-width:1680px;padding-inline:clamp(28px,5vw,78px)}.reservation-section{margin-bottom:34px}.reservation-header{min-height:86px;padding:20px 25px 17px}.reservation-header h2{font-size:22px}.reservation-list{gap:9px;padding:12px 16px 16px}.reservation-row{border-left-width:6px;gap:20px;min-height:72px;padding:12px 18px 12px 0}.reservation-time{flex-basis:112px;gap:4px;width:112px;padding-left:16px;font-size:16px}.reservation-info{gap:6px}.reservation-info strong{font-size:15px}.reservation-info span{font-size:12px}.reservation-status{padding:6px 8px;font-size:10px}.summary-strip{min-height:106px}.set-board-header{min-height:92px;padding:20px}.set-heading h2{font-size:20px}.set-heading p{font-size:12px}.set-state{padding:6px 8px;font-size:10px}.set-board-body{gap:9px;min-height:224px;padding:14px}.kanban-reservation{border-left-width:5px;gap:14px;min-height:82px;padding:13px 13px 13px 0}.kanban-reservation .reservation-time{flex-basis:76px;width:76px;padding-left:12px;font-size:16px}.kanban-reservation .reservation-info{gap:5px}.kanban-reservation .reservation-info strong{font-size:13px}.kanban-reservation .reservation-info span{font-size:11px}.upcoming-label{font-size:9px}@media (width<=640px){.topbar{padding-inline:18px}.content-wrap{padding-inline:16px}.reservation-header{min-height:76px;padding:17px 16px 14px}.reservation-header h2{font-size:19px}.reservation-list{padding:9px 8px 10px}.reservation-row{gap:10px;min-height:78px;padding-right:10px}.reservation-time{flex-basis:70px;width:70px;padding-left:9px;font-size:14px}.reservation-info strong{font-size:13px}.reservation-info span{white-space:normal;font-size:10px;line-height:1.35}.reservation-status{display:none}.set-board-header{padding:16px}.set-board-body{min-height:0;padding:10px}.kanban-reservation{gap:8px;min-height:74px}.kanban-reservation .reservation-time{flex-basis:62px;width:62px;padding-left:8px;font-size:14px}.kanban-reservation .reservation-info strong{font-size:12px}.kanban-reservation .reservation-info span{font-size:10px}.upcoming-label{display:none}}.reservation-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:28px;overflow:hidden}.reservation-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;min-height:70px;padding:16px 20px 13px;display:flex}.reservation-header .eyebrow{margin-bottom:7px;font-size:9px}.reservation-header h2{letter-spacing:-.04em;margin:0;font-size:18px}.reservation-count{color:var(--muted);font-family:DM Mono,monospace;font-size:10px}.reservation-list{gap:7px;padding:9px 12px 12px;display:grid}.reservation-row{border:1px solid #e0b4b2;border-left:5px solid var(--coral);background:#faeeee;border-radius:8px;align-items:center;gap:14px;min-height:55px;padding:9px 13px 9px 0;display:flex}.reservation-time{width:78px;color:var(--coral);flex:0 0 78px;gap:2px;padding-left:10px;font-family:DM Mono,monospace;font-size:10px;display:grid}.reservation-time strong{font-weight:500}.reservation-time span{color:#9b625e}.reservation-info{gap:3px;min-width:0;display:grid}.reservation-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.reservation-info span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px;overflow:hidden}.reservation-status{color:#8a4e49;background:#f2d8d6;border-radius:4px;margin-left:auto;padding:4px 6px;font-family:DM Mono,monospace;font-size:9px}.reservation-status.aprobada{color:#24664e;background:var(--mint-soft)}.reservation-empty{border:1px dashed var(--line-dark);color:var(--muted);text-align:center;border-radius:7px;margin:12px;padding:24px;font-size:12px}@media (width<=640px){.reservation-header{padding-inline:16px}.reservation-list{padding-inline:8px}.reservation-row{gap:8px;padding-right:8px}.reservation-time{flex-basis:60px;width:60px;padding-left:7px}.reservation-info span{white-space:normal;line-height:1.35}.reservation-status{display:none}}
