@import "https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Public+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--bg-dark:#f7f4ec;--bg-card:#fffefa;--bg-card-hover:#f1ecdf;--bg-surface:#fffefa;--bg-input:#fbf8f1;--bg-sunken:#efe9da;--primary:#1565c0;--primary-hover:#0d47a1;--primary-light:#1565c01f;--accent:#1565c0;--accent-gradient:var(--primary);--success:#3f7a4e;--success-bg:#3f7a4e1f;--warning:#9c6b18;--warning-bg:#9c6b1824;--danger:#b23a2e;--danger-bg:#b23a2e1f;--info:#3b6b8c;--info-bg:#3b6b8c1f;--text-main:#2a2420;--text-muted:#6b6053;--text-subtle:#7a6f5e;--border-color:#dfd6c2;--border-color-light:#cbbfa4;--rule:#d8cdb4;--rule-faint:#1565c024;--shadow-sm:0 1px 2px #2a24200f;--shadow-md:0 6px 16px #2a24201a;--shadow-lg:0 16px 36px #2a242029;--glass-bg:#fffefae6;--glass-border:#2a242014;--font-head:"Archivo", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Public Sans", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm:2px;--radius-md:3px;--radius-lg:5px;--radius-full:9999px;--transition:all .16s cubic-bezier(.22, .61, .36, 1)}[data-theme=dark]{--bg-dark:#120f0a;--bg-card:#1b1710;--bg-card-hover:#241e15;--bg-surface:#1b1710;--bg-input:#0d0b07;--bg-sunken:#0a0805;--primary:#4f9fe8;--primary-hover:#6db2f0;--primary-light:#4f9fe829;--accent:#4f9fe8;--accent-gradient:var(--primary);--success:#6fae7e;--success-bg:#6fae7e29;--warning:#cb9c4b;--warning-bg:#cb9c4b29;--danger:#d9695a;--danger-bg:#d9695a29;--info:#7ba6c4;--info-bg:#7ba6c429;--text-main:#f1eadd;--text-muted:#b4a996;--text-subtle:#83786a;--border-color:#3a342a;--border-color-light:#4a4335;--rule:#3a342a;--rule-faint:#4f9fe82e;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 6px 16px #0006;--shadow-lg:0 16px 36px #00000080;--glass-bg:#232019eb;--glass-border:#ffffff12}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-dark);color:var(--text-main);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}::selection{background:var(--primary);color:#fffefa}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-head);color:var(--text-main);letter-spacing:-.01em;font-weight:800}.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.app-container{width:100vw;height:100vh;display:flex;overflow:hidden}.main-wrapper{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.content-area{background-color:var(--bg-dark);flex:1;padding:1.5rem;overflow-y:auto}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition);padding:1.25rem}.card:hover{border-color:var(--border-color-light);box-shadow:var(--shadow-md)}.ledger-rule{border-top:1px solid var(--rule);padding-top:.75rem;position:relative}.ledger-rule:before{content:"";background:var(--rule-faint);height:1px;position:absolute;top:3px;left:0;right:0}.stage-badge{min-width:1.5rem;height:1.5rem;font-family:var(--font-head);font-variant-numeric:tabular-nums;border:1.5px solid var(--border-color-light);border-radius:var(--radius-sm);color:var(--text-muted);background:var(--bg-input);flex-shrink:0;justify-content:center;align-items:center;padding:0 .375rem;font-size:.6875rem;font-weight:800;display:inline-flex}.stage-badge.is-current{border-color:var(--primary);color:#fffefa;background:var(--primary)}.stage-badge.is-done{border-color:var(--success);color:var(--success);background:var(--success-bg)}.readout{flex-direction:column;gap:.5rem;display:flex}.readout-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.6875rem;font-weight:700}.readout-value{font-family:var(--font-head);letter-spacing:-.02em;color:var(--text-main);font-variant-numeric:tabular-nums;font-size:2.25rem;font-weight:800;line-height:1}.readout-track{border-radius:var(--radius-full);background:var(--border-color);height:3px;position:relative;overflow:hidden}.readout-fill{background:var(--primary);transform-origin:0;transition:transform .4s cubic-bezier(.22,.61,.36,1);position:absolute;inset:0}.btn{font-family:var(--font-body);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.125rem;font-size:.875rem;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fffefa;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background:var(--bg-card);color:var(--text-main);border-color:var(--border-color-light)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--text-subtle)}.btn-danger{background:var(--danger);color:#fffefa;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--primary-hover)}.btn-success{background:var(--success);color:#fffefa;border-color:var(--success)}.btn-success:hover:not(:disabled){filter:brightness(.92)}.btn-icon{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:1px solid #0000;padding:.5rem}.btn-icon:hover{background:var(--bg-card-hover);color:var(--text-main)}.input-group{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.input-label{color:var(--text-muted);font-size:.8125rem;font-weight:600}.input-control,.select-control,.textarea-control{width:100%;font-size:.875rem;line-height:1.25;font-family:var(--font-body);background:var(--bg-input);border:1px solid var(--border-color-light);border-radius:var(--radius-md);color:var(--text-main);transition:var(--transition);padding:.5rem .875rem}.input-control::placeholder,.textarea-control::placeholder{color:var(--text-subtle)}.input-control:focus,.select-control:focus,.textarea-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.phone-input-control{background:var(--bg-input);border:1px solid var(--border-color-light);border-radius:var(--radius-md);width:100%;transition:var(--transition);align-items:stretch;display:flex}.phone-input-control:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.phone-input-prefix{color:var(--text-muted);white-space:nowrap;border-right:1px solid var(--border-color-light);align-items:center;gap:.3125rem;padding:.5rem .625rem .5rem .875rem;font-size:.875rem;font-weight:700;display:flex}.phone-input-control input{width:100%;min-width:0;font-size:.875rem;line-height:1.25;font-family:var(--font-body);color:var(--text-main);background:0 0;border:none;outline:none;flex:1;padding:.5rem .875rem .5rem .625rem}.phone-input-control input::placeholder{color:var(--text-subtle)}.badge{border-radius:var(--radius-sm);letter-spacing:.02em;border:1px solid #0000;align-items:center;gap:.375rem;padding:.1875rem .5rem;font-size:.6875rem;font-weight:700;line-height:1.3;display:inline-flex}.badge-primary{background:var(--primary-light);color:var(--primary);border-color:#1565c040}.badge-success{background:var(--success-bg);color:var(--success);border-color:#3f7a4e40}.badge-warning{background:var(--warning-bg);color:var(--warning);border-color:#9c6b1840}.badge-danger{background:var(--danger-bg);color:var(--danger);border-color:#b23a2e40}.badge-info{background:var(--info-bg);color:var(--info);border-color:#3b6b8c40}.badge-neutral{background:var(--bg-sunken);color:var(--text-muted);border-color:var(--border-color)}[data-theme=dark] .badge-primary{border-color:#4f9fe84d}[data-theme=dark] .badge-success{border-color:#6fae7e4d}[data-theme=dark] .badge-warning{border-color:#cb9c4b4d}[data-theme=dark] .badge-danger{border-color:#d9695a4d}[data-theme=dark] .badge-info{border-color:#7ba6c44d}.badge-overdue{background:var(--danger-bg);color:var(--danger);border:1px solid #b23a2e59;animation:2s infinite pulse-red}@keyframes pulse-red{0%{box-shadow:0 0 #b23a2e59}70%{box-shadow:0 0 0 6px #b23a2e00}to{box-shadow:0 0 #b23a2e00}}.table-container{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);width:100%;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.custom-table th{background:var(--bg-sunken);color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid var(--border-color);padding:.75rem 1.25rem;font-size:.75rem;font-weight:700}.custom-table td{border-bottom:1px solid var(--border-color);color:var(--text-main);vertical-align:middle;font-variant-numeric:tabular-nums;padding:1rem 1.25rem}.custom-table tr:last-child td{border-bottom:none}.custom-table tr:hover td{background:var(--bg-card-hover)}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#14120d80;justify-content:center;align-items:center;padding:1rem;animation:.18s ease-out fadeIn;display:flex;position:fixed;inset:0}[data-theme=dark] .modal-overlay{background:#0009}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-lg);animation:.18s cubic-bezier(.22,.61,.36,1) scaleUp;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--border-color);background:var(--bg-sunken);justify-content:flex-end;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.drawer-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;background:#14120d73;position:fixed;inset:0}[data-theme=dark] .drawer-overlay{background:#0000008c}.drawer-content{background:var(--bg-card);border-left:1px solid var(--border-color);width:100%;max-width:500px;box-shadow:var(--shadow-lg);z-index:1000;flex-direction:column;animation:.2s cubic-bezier(.22,.61,.36,1) slideLeft;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.drawer-body{flex:1;padding:1.5rem;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes slideLeft{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes foldSettle{0%{opacity:.4;transform:perspective(600px)rotateX(-55deg)}60%{opacity:1;transform:perspective(600px)rotateX(8deg)}to{opacity:1;transform:perspective(600px)rotateX(0)}}.fold-settle{transform-origin:top;animation:.42s cubic-bezier(.22,.61,.36,1) foldSettle}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal-content,.drawer-content{animation-duration:.01ms!important}.fold-settle{animation:none}.badge-overdue{animation:none;box-shadow:0 0 0 3px #b23a2e40}}.sidebar-backdrop,.mobile-menu-btn{display:none}@media (width<=900px){.content-area{padding:1rem}.app-sidebar{box-shadow:var(--shadow-lg);transition:transform .22s cubic-bezier(.22,.61,.36,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);width:300px!important}.app-sidebar.is-open{transform:translate(0)}.sidebar-collapse-btn{display:none!important}.sidebar-backdrop.is-open{z-index:19;background:#14120d73;display:block;position:fixed;inset:0}.mobile-menu-btn{display:inline-flex}.responsive-2col{grid-template-columns:1fr!important}.header-title{font-size:1rem!important}.hide-on-mobile{display:none!important}.app-header{padding:0 .75rem!important}.app-header-tools{gap:.375rem!important}}.cal-layout{grid-template-columns:minmax(0,720px) minmax(320px,1fr);align-items:start;gap:1.25rem;display:grid}.cal-card{padding:.75rem}.cal-toolbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.cal-month{flex:1;font-size:1rem;font-weight:800}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-weekdays>div{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:.25rem 0;font-size:.6875rem;font-weight:700}.cal-day{text-align:left;min-height:76px;font:inherit;color:var(--text-main);background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);flex-direction:column;align-items:stretch;gap:3px;padding:.25rem .3rem;display:flex;overflow:hidden}.cal-day:hover{border-color:var(--primary)}.cal-day.has-items{background:var(--primary-light);border-color:var(--primary)}.cal-day.is-holiday{border-color:var(--primary)}.cal-day.is-holiday .cal-num{color:var(--primary);font-weight:800}.cal-day.is-outside{opacity:.45}.cal-day.is-selected{box-shadow:0 0 0 2px var(--primary)}.cal-num{text-align:center;border-radius:var(--radius-full,9999px);align-self:flex-start;min-width:1.25rem;height:1.25rem;padding:0 .25rem;font-size:.75rem;font-weight:700;line-height:1.25rem}.cal-day.has-items .cal-num{font-weight:800}.cal-day.is-today .cal-num{background:var(--primary);color:#fff}.cal-chips{flex-direction:column;gap:2px;min-width:0;display:flex}.cal-chip{color:var(--text-main);background:color-mix(in srgb, var(--chip-color) 16%, var(--bg-card));border-left:3px solid var(--chip-color);white-space:nowrap;text-overflow:ellipsis;border-radius:2px;padding:1px 5px;font-size:.6875rem;line-height:1.4;display:block;overflow:hidden}.cal-chip.is-task{background:var(--bg-card)}.cal-chip.is-done{opacity:.6;text-decoration:line-through}.cal-chip b{font-weight:800}.cal-holiday-chip{color:var(--primary);background:color-mix(in srgb, var(--primary) 16%, var(--bg-card));border-left:3px solid var(--primary);white-space:nowrap;text-overflow:ellipsis;border-radius:2px;padding:1px 5px;font-size:.6875rem;font-weight:700;line-height:1.4;display:block;overflow:hidden}.cal-more{color:var(--primary);padding-left:2px;font-size:.6875rem;font-weight:700}.cal-dots{flex-wrap:wrap;gap:3px;display:none}.cal-dots i{border-radius:50%;width:6px;height:6px}.cal-legend{color:var(--text-muted);flex-wrap:wrap;gap:.375rem 1rem;margin-top:.75rem;font-size:.75rem;display:flex}.cal-legend span{align-items:center;gap:.375rem;display:inline-flex}.cal-legend i{border-radius:2px;width:10px;height:10px}.cal-day-panel{flex-direction:column;gap:1rem;display:flex}@media (width<=1000px){.cal-layout{grid-template-columns:minmax(0,1fr)}.cal-card{max-width:720px}}@media (width<=700px){.cal-card{padding:.5rem}.cal-grid{gap:2px}.cal-day{align-items:center;min-height:54px;padding:.25rem}.cal-num{align-self:center}.cal-chips{display:none}.cal-dots{justify-content:center;display:flex}}
