@font-face{font-family:Tan Nimbus;src:url(/fonts/TAN-NIMBUS.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Arimo;src:url(/fonts/Arimo-VariableFont_wght.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Le Jour;src:url("/fonts/Le Jour Serif Personal Use Only.otf")format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--bg-page:#ededed;--bg-surface:#fff;--text-primary:#087e6a;--text-secondary:#0b6550;--border-subtle:#dad5c8;--accent:#0f6e66;--accent-dark:#0a4f49;--accent-highlight:#1ae1ca;--danger:#e05e0d;--danger-dark:#0729a5;--surface-shadow:0 1px 2px #1e232b0f, 0 8px 24px #1e232b0f;--item-color-0:#087e6a;--item-color-1:#0b6550;--item-color-2:#0f6e66;--item-color-3:#0a4f49;--item-color-4:#1ae1ca;--item-color-5:#e05e0d;--item-color-6:#0729a5;--item-color-7:#087e6a;--item-color-8:#0b6550;--item-color-0-50:#087e6a80}*{box-sizing:border-box}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0%}}.skeleton{background:linear-gradient(100deg, var(--bg-surface) 20%, var(--border-subtle) 40%, var(--accent-highlight,var(--accent)) 50%, var(--border-subtle) 60%, var(--bg-surface) 80%);opacity:.55;background-size:300% 100%;border-radius:8px;animation:1.6s ease-in-out infinite skeleton-shimmer}.skeleton-accent{background:linear-gradient(100deg, var(--bg-surface) 15%, var(--accent) 45%, var(--accent-highlight,var(--accent)) 55%, var(--bg-surface) 85%);opacity:.7;background-size:300% 100%;border-radius:8px;animation:1.6s ease-in-out infinite skeleton-shimmer}@media (prefers-reduced-motion:reduce){.skeleton,.skeleton-accent{background:var(--bg-surface);animation:none}}html,body{margin:0;padding:0}body{background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;letter-spacing:.05em;min-height:100vh;font-family:Arimo,Helvetica,Arial,sans-serif}a{color:var(--accent-dark);letter-spacing:.02em}.num{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.halftone{background-image:radial-gradient(var(--text-primary) 1px, transparent 1.4px);opacity:.08;background-size:10px 10px}header.topbar{color:#f2f0e8;border-radius:25px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:20px 20px 5px;padding:22px 28px;display:flex;position:relative;overflow:hidden}header.topbar .halftone{pointer-events:none;position:absolute;inset:0}header.topbar .brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex;position:relative}html{max-width:100vw}body{max-width:100vw;overflow-x:hidden}header.topbar .mark{flex:none;justify-content:center;align-items:center;width:auto;min-width:38px;height:38px;margin-left:10px;display:flex}header.topbar .mark img{object-fit:contain;width:auto;height:100%}header.topbar .mark.mark--fallback{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:#f2f0e8;border-radius:8px;width:38px;font-size:18px;font-weight:800}header.topbar h1{letter-spacing:.06em;text-transform:uppercase;color:#0f6e66;margin:0;font-family:Arimo,Helvetica,Arial,sans-serif;font-size:25px}header.topbar p{color:var(--item-color-0);margin:2px 0 0;font-family:monospace;font-size:16px;font-style:italic}header.topbar p em{text-transform:none;letter-spacing:0;font-style:italic}.topbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:relative}button,.btn{cursor:pointer;letter-spacing:.02em;border:none;border-radius:8px;padding:8px 14px;font-family:monospace;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.btn-teal{background:var(--accent);color:#fff}.btn-teal:hover{background:var(--accent-dark)}.btn-ghost{background:var(--item-color-0);color:#fdfcf9;border-radius:25px;font-family:monospace;font-style:italic}.btn-cal{font-style:italic;font-weight:400px;font-family:monospace}.btn-ghost:hover{filter:brightness(.85)}.btn-icon{box-sizing:border-box;justify-content:center;align-items:center;width:32px;height:32px;padding:7px;display:flex}.btn-light{background:var(--bg-surface);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-subtle)}.btn-red{background:var(--danger);color:#fff}.btn-sm{padding:6px 10px;font-size:12.5px}button:disabled{opacity:.55;cursor:not-allowed}main.layout{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:22px;width:100%;max-width:1240px;margin:0 auto;padding:26px 24px 80px;display:grid}main.layout>*{min-width:0}@media (max-width:920px){main.layout{grid-template-columns:minmax(0,1fr)}}.panel{background:var(--bg-surface);box-shadow:var(--surface-shadow);border-radius:14px;min-width:0;margin-bottom:18px;padding:20px 22px}.panel h2{text-transform:uppercase;letter-spacing:.09em;color:var(--text-primary);letter-spacing:.05em;margin:0 0 4px;font-family:Arimo,sans-serif;font-size:16px;font-weight:600}.panel .hint{color:var(--text-secondary);margin:0 0 14px;font-size:12px}.divider{border:none;border-top:1px dashed var(--border-subtle);margin:16px 0}.field{min-width:0;margin-bottom:12px}.field label{color:var(--text-primary);margin-bottom:5px;font-size:12.5px;font-weight:700;display:block}.field .sub{color:var(--text-secondary);font-size:11.5px;font-weight:400}.field input,.field textarea,.field select{border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);box-sizing:border-box;background:#fcfbf8;border-radius:8px;min-width:0;padding:9px 10px;font-family:inherit;font-size:14px}.field select{padding-right:30px}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.money-field{min-width:0;position:relative}.money-field .dollar-prefix{color:var(--text-secondary);pointer-events:none;font-family:ui-monospace,monospace;font-size:14px;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.money-field input{padding-left:22px}.settings-tab-panels{flex-direction:column;gap:14px;display:flex}.row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}@media (max-width:520px){.row2{grid-template-columns:minmax(0,1fr)}}.row3{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}@media (max-width:640px){.row3{grid-template-columns:minmax(0,1fr)}}.toggle-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.toggle-row input{width:16px;height:16px}.toggle-row label{margin:0;font-size:12.5px;font-weight:700}.item-card{border:1px solid var(--border-subtle);background:#fdfcf9;border-radius:10px;min-width:0;margin-bottom:12px;padding:14px 16px}.item-card .item-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.item-index{color:var(--accent-dark);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.seg{flex-wrap:wrap;gap:6px;margin:6px 0 10px;display:flex}.seg button{box-shadow:inset 0 0 0 1px var(--border-subtle);color:var(--text-secondary);background:#fff;padding:7px 12px;font-size:12.5px}.seg button.active{background:var(--text-primary);color:#fff;box-shadow:none}.sizes-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:6px;display:grid}@media (max-width:520px){.sizes-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.sizes-grid.sizes-grid-8{grid-template-columns:repeat(8,minmax(0,1fr))}@media (max-width:680px){.sizes-grid.sizes-grid-8{grid-template-columns:repeat(4,minmax(0,1fr))}}.sizes-grid .sz{min-width:0}.sizes-grid .sz label{text-align:center;color:var(--text-secondary);font-size:11px;font-weight:700;display:block}.sizes-grid .sz input{text-align:center;box-sizing:border-box;width:100%;padding:7px 4px}.price-tier-row{flex-wrap:wrap;gap:10px;display:flex}.price-tier-row .field{flex:1;min-width:110px}.price-tier-row .sub-label{color:var(--text-secondary);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.item-foot{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-top:8px;font-size:12.5px;display:flex}.item-foot .subtotal{color:var(--text-primary);font-weight:800}.add-item-btn{border:1.5px dashed var(--accent);width:100%;color:var(--accent-dark);background:#f0f7f6;border-radius:10px;padding:12px;font-weight:800}.empty-note{color:var(--text-secondary);text-align:center;padding:18px 0;font-size:13px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;margin-top:4px;display:grid}.photo-thumb{border:1px solid var(--border-subtle);aspect-ratio:1;background:#f2f0e8;border-radius:8px;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumb .remove-photo{color:#fff;text-align:center;background:#1e232bbf;border-radius:50%;width:20px;height:20px;padding:0;font-size:12px;line-height:20px;position:absolute;top:4px;right:4px}.photo-upload-btn{border:1.5px dashed var(--border-subtle);aspect-ratio:1;color:var(--text-secondary);text-align:center;background:#fcfbf8;border-radius:8px;justify-content:center;align-items:center;padding:6px;font-size:12px;display:flex}.ticket{min-width:0;max-height:calc(100vh - 40px);position:sticky;top:20px;overflow-y:auto}.ticket-card{background:var(--bg-surface);box-shadow:var(--surface-shadow);border-radius:14px;min-width:0;overflow:hidden}.ticket-head{background:var(--text-primary);color:#f2f0e8;padding:18px 20px;position:relative;overflow:hidden}.ticket-head .halftone{position:absolute;inset:0}.ticket-head .kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-highlight);margin-bottom:4px;font-size:11px;font-weight:800;position:relative}.ticket-head h3{font-size:23px;font-weight:800;font-family:var(--font-heading,Georgia, serif);font-style:var(--font-heading-style,normal);margin:0;position:relative}.ticket-head .meta{color:#b9c2c0;margin-top:4px;font-size:12px;position:relative}.ticket-body{padding:18px 20px}table.quote-table{border-collapse:collapse;width:100%;font-size:13px}table.quote-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);padding:0 6px 6px 0;font-size:10.5px;font-weight:800}table.quote-table td{border-bottom:1px dashed var(--border-subtle);vertical-align:top;padding:8px 6px}table.quote-table td.num,table.quote-table th.num{text-align:right;font-family:ui-monospace,monospace}.line-sizes{color:var(--text-secondary);font-size:11px}.totals-row{justify-content:space-between;padding:5px 0;font-size:13.5px;display:flex}.totals-row.grand{border-top:2px solid var(--text-primary);margin-top:6px;padding-top:10px;font-size:17px;font-weight:800}.qty-note{color:var(--text-secondary);margin-top:2px;font-size:11.5px}.pill{text-transform:uppercase;letter-spacing:.04em;background:var(--text-secondary);color:#fff;border-radius:20px;padding:3px 9px;font-size:10.5px;font-weight:800}.pill.draft{background:var(--item-color-0)}.pill.sent{background:var(--item-color-1)}.pill.approved{background:var(--item-color-2)}.pill.invoiced{background:var(--item-color-3)}.pill.paid{background:var(--item-color-4)}.pill.partially_paid{background:#c98a1f}.pill.waiting_to_order{background:var(--item-color-5)}.pill.ordered{background:var(--item-color-6)}.pill.in_production{background:var(--item-color-7)}.pill.completed{background:var(--item-color-8)}.dash-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:10px;padding:14px 4px;display:flex}.dash-row .info b{margin-bottom:6px;font-size:15px;display:block}.dash-row .info span:not(.pill){color:var(--text-secondary);font-size:12.5px}.status-banner{border-radius:10px;margin-bottom:16px;padding:14px 18px;font-size:13.5px}.status-banner.paid{color:#1e7a4e;background:#e1f0ea}.status-banner.error{color:var(--danger-dark);background:#fbe7e5}.cal-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px;display:grid}.cal-weekday{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);text-align:center;font-size:10.5px;font-weight:600}.cal-day-grid-wrap{position:relative}.cal-day-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.cal-cell{border:1px solid var(--border-subtle);box-sizing:border-box;background:#fdfcf9;border-radius:8px;min-width:0;padding:6px;position:relative;overflow:visible}.cal-cell--empty{background:0 0;border:none}.cal-cell--today{border-color:var(--accent);border-width:2px}.cal-date{color:var(--text-secondary);font-size:11px;font-weight:800}.cal-chip{border:1px solid var(--border-subtle);cursor:grab;background:#fdfcf9;border-radius:8px;margin-bottom:8px;padding:8px 10px}.cal-chip:active{cursor:grabbing}.cal-chip-title{color:var(--text-primary);font-size:12.5px;font-weight:700;text-decoration:none;display:block}.cal-chip-title:hover{text-decoration:underline}.cal-chip-meta{color:var(--text-secondary);margin-top:2px;font-size:11px}.cal-chip-days{align-items:center;gap:6px;margin-top:6px;display:flex}.cal-chip-days label{color:var(--text-secondary);font-size:10.5px;font-weight:700}.cal-chip-days input{border:1px solid var(--border-subtle);border-radius:6px;width:50px;padding:3px 5px;font-size:12px}.cal-bars-overlay{pointer-events:none;position:absolute;inset:0}.cal-bar{pointer-events:auto;cursor:grab;color:#fff;box-sizing:border-box;border-radius:26px;align-items:center;gap:4px;padding:0 6px;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 4px #1e232b40}.cal-bar:active{cursor:grabbing}.cal-bar-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;font-weight:700;text-decoration:none;overflow:hidden}.cal-bar-title:hover{text-decoration:underline}.cal-bar-days-input{text-align:center;width:32px;color:var(--text-primary);background:#ffffffe6;border:none;border-radius:4px;flex:none;padding:1px 3px;font-size:10px}.cal-bar-checkbox{cursor:pointer;accent-color:#fff;flex:none;width:13px;height:13px;margin:0}.cal-bar-delete{cursor:pointer;color:#fff;background:#ffffff40;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:12px;line-height:1;display:flex}.cal-bar-delete:hover{background:#ffffff73}.cal-bar-expand{cursor:pointer;color:#fff;background:#ffffff40;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:16px;height:16px;padding:0 0 3px;font-size:12px;font-weight:800;line-height:1;display:flex}.cal-bar-expand:hover{background:#ffffff73}.cal-bar--completed{opacity:.55}.cal-bar--completed .cal-bar-title{text-decoration:line-through}.cal-bar.status-draft{background:#0faa90}.cal-bar.status-sent{background:#639ff9}.cal-bar.status-approved{background:#6b4fa0}.cal-bar.status-invoiced{background:#dc52c1}.cal-bar.status-paid{background:#86a42f}.cal-bar.status-waiting_to_order{background:#1767df}.cal-bar.status-ordered{background:#f37ebf}.cal-bar.status-in_production{background:#58c090}.cal-bar.status-completed{background:#df0ce4}.cal-chip-due{color:var(--danger);margin-top:4px;font-size:10.5px;font-weight:800}.cal-due-marker{white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:2px 4px;font-size:10px;font-weight:700;text-decoration:none;display:block;overflow:hidden}.cal-due-marker:hover{text-decoration:underline}.todo-page-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);margin:0 0 18px;font-size:20px;font-weight:900}.todo-section{background-image:radial-gradient(circle, var(--item-color-0-50) 1px, transparent 1px);background-position:0 100%;background-repeat:repeat-x;background-size:10px 8px;margin-bottom:22px;padding-bottom:18px}.todo-section:last-child{margin-bottom:0}.todo-section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:8px;font-size:16px;font-weight:800}.todo-row{border-bottom:1px dashed var(--border-subtle);align-items:center;gap:10px;padding:12px 4px;display:flex}.todo-row:last-child{border-bottom:none;margin-bottom:18px}.todo-checkbox{cursor:pointer;flex:none;width:22px;height:22px}.todo-color-dot{border-radius:50%;flex:none;width:14px;height:14px}.todo-title{color:var(--text-primary);flex:1;min-width:0;font-size:19px;font-weight:700;text-decoration:none}.todo-title:hover{text-decoration:underline}.todo-title--done{color:var(--text-secondary);text-decoration:line-through}.todo-meta{color:var(--text-secondary);font-size:15px}.todo-due-flag{font-size:14px;font-weight:800}.customer-search-dropdown{z-index:20;border:1px solid var(--border-subtle);background:#fff;border-radius:8px;max-height:240px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #1e232b1f}.customer-search-result{cursor:pointer;border-bottom:1px solid var(--border-subtle);padding:9px 12px;font-size:13px}.customer-search-result:last-child{border-bottom:none}.customer-search-result:hover{background:#f0f7f6}.customer-search-result-email{color:var(--text-secondary);margin-top:1px;font-size:11px}.customer-linked-note{color:var(--accent-dark);margin-top:4px;font-size:11px;font-weight:700}.decoration-block{border:1px solid var(--border-subtle);background:#fcfbf8;border-radius:8px;margin:8px 0 12px;padding:12px 14px}table.quote-table.grid th,table.quote-table.grid td{border-right:1px solid var(--border-subtle)}table.quote-table.grid th:last-child,table.quote-table.grid td:last-child{border-right:none}table.quote-table.grid td{vertical-align:middle}table.quote-table td input,table.quote-table td .money-field input{border:1px solid var(--border-subtle);width:100%;max-width:100px;color:var(--text-primary);box-sizing:border-box;background:#fcfbf8;border-radius:6px;padding:6px 8px;font-family:inherit;font-size:13px}table.quote-table td .money-field input{padding-left:20px}.percent-field{justify-content:center;align-items:center;display:flex}.percent-field input{padding-left:10px;padding-right:10px}table.quote-table td .percent-field input{padding-left:8px;padding-right:8px}.percent-field .percent-suffix{color:var(--text-secondary);pointer-events:none;padding-left:5px;font-family:ui-monospace,monospace;font-size:13px}
