:root{color-scheme:light dark;font-family:Google Sans Text,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--md-primary: #6750a4;--md-on-primary: #ffffff;--md-primary-container: #eaddff;--md-on-primary-container: #21005e;--md-secondary: #625b71;--md-on-secondary: #ffffff;--md-secondary-container: #e8def8;--md-on-secondary-container: #1e192b;--md-tertiary: #7d5260;--md-on-tertiary: #ffffff;--md-tertiary-container: #ffd8e4;--md-on-tertiary-container: #31111d;--md-error: #b3261e;--md-on-error: #ffffff;--md-error-container: #f9dedc;--md-on-error-container: #410e0b;--md-success: #1a7a44;--md-on-success: #ffffff;--md-success-container: #c3f3d3;--md-on-success-container: #04210f;--md-warning-container: #ffe8b8;--md-on-warning-container: #4d3800;--md-surface-container-lowest: #ffffff;--md-surface-container-low: #f7f2fa;--md-surface-container: #f3edf7;--md-surface-container-high: #ece6f0;--md-surface-container-highest: #e6e0e9;--md-on-surface: #1c1b1f;--md-on-surface-variant: #49454f;--md-outline: #79747e;--md-outline-variant: #cac4d0;--md-shape-xs: 8px;--md-shape-sm: 12px;--md-shape-md: 16px;--md-shape-lg: 24px;--md-shape-xl: 28px;--md-shape-full: 999px;--md-elevation-1: 0 1px 2px rgba(0, 0, 0, .14), 0 1px 3px 1px rgba(0, 0, 0, .08);--md-elevation-2: 0 1px 2px rgba(0, 0, 0, .18), 0 3px 8px 2px rgba(0, 0, 0, .1);--md-motion: .2s cubic-bezier(.2, 0, 0, 1);--bg: var(--md-surface-container-lowest);--text: var(--md-on-surface);--text-muted: var(--md-on-surface-variant);--border: var(--md-outline-variant);--shadow: var(--md-elevation-1);--shadow-lg: var(--md-elevation-2);--danger-bg: var(--md-error-container);--danger-fg: var(--md-on-error-container);--success-bg: var(--md-success-container);--success-fg: var(--md-on-success-container)}@media (prefers-color-scheme: dark){:root{--md-primary: #d0bcff;--md-on-primary: #381e72;--md-primary-container: #4f378b;--md-on-primary-container: #eaddff;--md-secondary: #ccc2dc;--md-on-secondary: #332d41;--md-secondary-container: #4a4458;--md-on-secondary-container: #e8def8;--md-tertiary: #efb8c8;--md-on-tertiary: #492532;--md-tertiary-container: #633b48;--md-on-tertiary-container: #ffd8e4;--md-error: #f2b8b5;--md-on-error: #601410;--md-error-container: #8c1d18;--md-on-error-container: #f9dedc;--md-success: #7fdb9e;--md-on-success: #04391d;--md-success-container: #0d5a30;--md-on-success-container: #c3f3d3;--md-warning-container: #4d3800;--md-on-warning-container: #ffe8b8;--md-surface-container-lowest: #0f0d13;--md-surface-container-low: #1d1b20;--md-surface-container: #211f26;--md-surface-container-high: #2b2930;--md-surface-container-highest: #36343b;--md-on-surface: #e6e0e9;--md-on-surface-variant: #cac4d0;--md-outline: #938f99;--md-outline-variant: #49454f;--md-elevation-1: 0 1px 2px rgba(0, 0, 0, .4), 0 1px 3px 1px rgba(0, 0, 0, .3);--md-elevation-2: 0 1px 2px rgba(0, 0, 0, .45), 0 3px 8px 2px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}body{margin:0;color:var(--text);background-color:var(--bg);background-image:radial-gradient(1100px 640px at 12% -12%,color-mix(in srgb,var(--md-primary) 20%,transparent),transparent 60%),radial-gradient(900px 560px at 105% 0%,color-mix(in srgb,var(--md-tertiary) 16%,transparent),transparent 58%),radial-gradient(800px 500px at 50% 115%,color-mix(in srgb,var(--md-secondary) 10%,transparent),transparent 60%);background-repeat:no-repeat;background-attachment:fixed;-webkit-font-smoothing:antialiased}.app-shell{min-height:100vh}.navbar{background:color-mix(in srgb,var(--md-surface-container-low) 78%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb,var(--border) 45%,transparent)}.navbar-inner{max-width:720px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px}.brand-mark svg{width:28px;height:28px;display:block;color:var(--md-primary)}.brand-name{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;color:var(--md-on-surface)}.navbar-user{gap:12px}.navbar-email{color:var(--text-muted);font-size:.85rem}.credits-pill{font-size:.82rem;font-weight:700;color:var(--md-on-tertiary-container);background:var(--md-tertiary-container);border:none;border-radius:var(--md-shape-full);padding:7px 16px;cursor:pointer;box-shadow:none;transition:background var(--md-motion)}.credits-pill:hover{background:color-mix(in srgb,var(--md-tertiary-container) 80%,var(--md-on-tertiary-container) 12%);box-shadow:none;transform:none}.hero{padding:48px 20px 36px;text-align:center;background:radial-gradient(120% 100% at 50% -15%,color-mix(in srgb,var(--md-primary) 24%,transparent) 0%,color-mix(in srgb,var(--md-tertiary) 14%,transparent) 45%,transparent 78%)}.hero-inner{max-width:640px;margin:0 auto}.hero h1{font-size:2rem;line-height:1.15;font-weight:500;letter-spacing:-.01em;margin:0 0 16px;color:var(--md-on-surface)}.text-gradient{color:var(--md-primary)}.hero-sub{color:var(--text-muted);font-size:.98rem;max-width:520px;margin:0 auto 28px}.hero-cta{margin-bottom:44px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left}.hero-step{display:flex;gap:14px;background:var(--md-surface-container);border:none;border-radius:var(--md-shape-xl);padding:18px;box-shadow:var(--shadow)}.hero-step-number{flex-shrink:0;width:30px;height:30px;border-radius:var(--md-shape-lg);background:var(--md-primary-container);color:var(--md-on-primary-container);font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}.hero-step h3{margin:0 0 4px;font-size:.92rem;font-weight:600;color:var(--md-on-surface)}.hero-step p{margin:0;color:var(--text-muted);font-size:.85rem}@media (max-width: 720px){.hero-steps{grid-template-columns:1fr}}.page{max-width:640px;margin:0 auto;padding:24px 20px 96px;display:flex;flex-direction:column;gap:20px;position:relative}.page-glow:before{content:"";position:absolute;top:0;left:50%;width:100vw;height:420px;transform:translate(-50%);background:radial-gradient(120% 100% at 50% -15%,color-mix(in srgb,var(--md-primary) 24%,transparent) 0%,color-mix(in srgb,var(--md-tertiary) 14%,transparent) 45%,transparent 78%);pointer-events:none;z-index:-1}.card{background:var(--md-surface-container);border:none;border-radius:var(--md-shape-xl);padding:22px 24px;box-shadow:var(--shadow-lg)}.card-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:10px}.card-heading h2{margin:0;font-size:1.1rem;font-weight:600;letter-spacing:-.01em;color:var(--md-on-surface)}.card h3{font-size:.95rem;font-weight:600;margin:18px 0 8px;color:var(--md-on-surface)}.badge{font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--md-on-surface-variant);background:var(--md-surface-container-high);border:1px solid var(--border);padding:4px 11px;border-radius:var(--md-shape-full);white-space:nowrap}.badge-success{color:var(--md-on-success-container);background:var(--md-success-container);border-color:transparent}.stack{display:flex;flex-direction:column;gap:18px}.row{display:flex;align-items:center;gap:10px}.row.space-between{justify-content:space-between}.row-wrap{flex-wrap:wrap}.row-input{flex:1 1 140px;min-width:0;font:inherit;font-weight:500;font-size:.98rem;color:var(--md-on-surface);padding:12px 14px;border-radius:var(--md-shape-sm);border:1px solid var(--md-outline);background:var(--md-surface-container-highest)}.row-input:focus{outline:none;border-color:var(--md-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--md-primary) 25%,transparent)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 560px){.grid-2{grid-template-columns:1fr}}.muted{color:var(--md-on-surface-variant);font-size:.9rem}.small{font-size:.82rem}.field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;color:var(--md-on-surface-variant)}.field input,.field select{font:inherit;font-weight:500;font-size:.98rem;color:var(--md-on-surface);padding:12px 14px;border-radius:var(--md-shape-sm);border:1px solid var(--md-outline);background:var(--md-surface-container-highest);transition:border-color var(--md-motion),box-shadow var(--md-motion)}.field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,var(--md-on-surface-variant) 50%),linear-gradient(135deg,var(--md-on-surface-variant) 50%,transparent 50%);background-position:calc(100% - 24px) center,calc(100% - 18px) center;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.field select:disabled{background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%)}.field input:focus,.field select:focus{outline:none;border-color:var(--md-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--md-primary) 25%,transparent)}.field input:disabled,.field select:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.7}.chip-toggle{position:relative;display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:9px 16px 9px 10px;border-radius:var(--md-shape-full);border:1px solid var(--md-outline);color:var(--md-on-surface-variant);font-size:.88rem;font-weight:500;cursor:pointer;transition:background var(--md-motion),border-color var(--md-motion),color var(--md-motion)}.chip-toggle input{position:absolute;opacity:0;pointer-events:none}.chip-toggle .check{width:18px;height:18px;flex-shrink:0;border-radius:5px;border:2px solid var(--md-outline);display:inline-flex;align-items:center;justify-content:center;transition:background var(--md-motion),border-color var(--md-motion)}.chip-toggle .check svg{width:12px;height:12px;opacity:0;transition:opacity var(--md-motion)}.chip-toggle:has(input:checked){background:var(--md-secondary-container);border-color:transparent;color:var(--md-on-secondary-container)}.chip-toggle:has(input:checked) .check{background:var(--md-secondary);border-color:var(--md-secondary);color:var(--md-on-secondary)}.chip-toggle:has(input:checked) .check svg{opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--md-shape-full);padding:12px 22px;font:inherit;font-weight:600;font-size:.95rem;cursor:pointer;text-decoration:none;box-shadow:var(--md-elevation-1);transition:box-shadow var(--md-motion),transform var(--md-motion),background var(--md-motion)}.btn:hover{box-shadow:var(--md-elevation-2);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--md-primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.btn-primary{color:var(--md-on-primary);background:var(--md-primary)}.btn-secondary{color:var(--md-on-secondary-container);background:var(--md-secondary-container);box-shadow:none}.btn-secondary:hover{box-shadow:var(--md-elevation-1)}.btn-ghost{color:var(--md-on-surface);background:transparent;border:1px solid var(--md-outline);box-shadow:none}.btn-ghost:hover{box-shadow:none;background:var(--md-surface-container-high)}.btn-lg{padding:15px 28px;font-size:1rem}.link-btn{background:none;color:var(--md-error);border:none;padding:0;font-size:.82rem;font-weight:600;cursor:pointer}.tabs{display:flex;gap:4px;margin-bottom:6px;background:var(--md-surface-container-high);border-radius:var(--md-shape-full);padding:4px}.tabs button{flex:1;background:transparent;color:var(--md-on-surface-variant);border:none;border-radius:var(--md-shape-full);padding:9px;font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:none;transition:background var(--md-motion),color var(--md-motion)}.tabs button:hover{box-shadow:none;transform:none}.tabs button.active{background:var(--md-primary);color:var(--md-on-primary)}.banner{border-radius:var(--md-shape-md);padding:14px 16px;font-size:.88rem;line-height:1.4}.banner-error{background:var(--danger-bg);color:var(--danger-fg)}.banner-warn{background:var(--md-warning-container);color:var(--md-on-warning-container)}.link-btn-accent{color:inherit;font-weight:700;text-decoration:underline}.stats{display:flex;gap:10px;list-style:none;padding:0;margin:18px 0 14px;flex-wrap:wrap}.stats li{background:var(--md-surface-container-high);color:var(--md-on-surface-variant);border-radius:var(--md-shape-sm);padding:10px 14px;font-size:.85rem}.stats li strong{color:var(--md-on-surface);font-size:1rem}.vendor-list{list-style:none;padding:0;margin:10px 0;display:flex;flex-direction:column;gap:8px}.vendor-list li{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px solid var(--border);border-radius:var(--md-shape-md);font-size:.9rem;background:var(--md-surface-container-low)}.result{background:var(--md-surface-container);border:none;border-radius:var(--md-shape-xl);box-shadow:var(--shadow-lg);padding:22px 24px}.result h2{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:1.15rem;font-weight:600;color:var(--md-on-surface)}.result h2:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--md-success);flex-shrink:0}.downloads{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c081880;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal{position:relative;background:var(--md-surface-container-high);border:none;border-radius:var(--md-shape-xl);padding:30px 28px 28px;width:100%;max-width:380px;box-shadow:0 8px 24px #00000038,0 2px 8px #00000024}.modal h2{margin:0 0 4px;font-size:1.3rem;font-weight:600;color:var(--md-on-surface)}.mock-pay-amount{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--md-primary)}.package-list{display:flex;flex-direction:column;gap:8px}.package-option{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:var(--md-shape-md);padding:12px 14px;cursor:pointer;font-size:.9rem;transition:border-color var(--md-motion),background var(--md-motion)}.package-option.selected{border-color:var(--md-primary);background:var(--md-primary-container);color:var(--md-on-primary-container)}.package-option input{accent-color:var(--md-primary)}.package-price{margin-left:auto;font-weight:700;color:var(--text-muted)}.modal-close{position:absolute;top:14px;right:14px;background:var(--md-surface-container-high);border:none;border-radius:var(--md-shape-full);width:32px;height:32px;font-size:1.3rem;line-height:1;color:var(--text-muted);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:background var(--md-motion)}.modal-close:hover{background:var(--md-surface-container-highest)}.preview{background:var(--md-surface-container);border:none;border-radius:var(--md-shape-xl);box-shadow:var(--shadow-lg);padding:22px 24px}.preview .preview-title{margin:0 0 2px;font-size:1rem;font-weight:600;color:var(--md-on-surface)}.preview .preview-subtitle{margin:0 0 14px}.preview-search{width:100%;font:inherit;font-weight:500;font-size:.9rem;color:var(--md-on-surface);padding:10px 14px;margin-bottom:12px;border-radius:var(--md-shape-sm);border:1px solid var(--md-outline);background:var(--md-surface-container-highest)}.preview-search:focus{outline:none;border-color:var(--md-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--md-primary) 25%,transparent)}.preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto}.preview-row{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--md-shape-md);background:var(--md-surface-container-high)}.preview-row-link{cursor:pointer;transition:background-color .15s ease}.preview-row-link:hover,.preview-row-link:focus-visible{background:var(--md-surface-container-highest)}.preview-date{flex-shrink:0;width:44px;height:44px;border-radius:var(--md-shape-sm);background:var(--md-surface-container-highest);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.preview-day{font-weight:700;font-size:1rem;color:var(--md-on-surface)}.preview-weekday{font-size:.62rem;text-transform:uppercase;color:var(--md-on-surface-variant)}.preview-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.preview-summary{font-size:.88rem;color:var(--md-on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip{display:inline-flex;align-self:flex-start;align-items:center;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:var(--md-shape-full)}.chip-key{background:var(--md-primary-container);color:var(--md-on-primary-container);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.chip-type{background:var(--md-surface-container-highest);color:var(--md-on-surface-variant)}.preview-meta{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.chip-hours{background:var(--md-tertiary-container);color:var(--md-on-tertiary-container)}.chip-points{background:transparent;color:var(--md-on-surface-variant);font-weight:700;padding:2px 0}.sheet-scroll{overflow:auto;max-height:460px;border-radius:var(--md-shape-md);border:1px solid var(--md-outline-variant)}.sheet-logos{display:flex;align-items:center;gap:16px;padding:12px 14px;background:var(--md-surface-container-lowest);border-bottom:1px solid var(--md-outline-variant)}.sheet-logo{height:32px;width:auto;max-width:140px;object-fit:contain}.sheet-header-bar{display:flex;flex-wrap:wrap;gap:18px;padding:10px 14px;background:var(--md-surface-container-highest);border-bottom:1px solid var(--md-outline-variant)}.sheet-header-bar>div{display:flex;flex-direction:column;gap:1px}.sheet-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--md-on-surface-variant)}.sheet-value{font-size:.8rem;font-weight:600;color:var(--md-on-surface)}.sheet-table{border-collapse:collapse;font-size:.7rem;white-space:nowrap}.sheet-table th,.sheet-table td{border:1px solid var(--md-outline-variant);padding:4px 6px;text-align:center}.sheet-table thead th{position:sticky;top:0;background:var(--md-surface-container-high);color:var(--md-on-surface-variant);font-weight:700;z-index:1}.sheet-table .col-no{width:30px;min-width:30px}.sheet-table .col-project{width:200px;min-width:200px;max-width:200px;text-align:left;white-space:normal;word-break:break-word}.sheet-table .col-sp{width:36px;min-width:36px}.sheet-table .col-day{width:26px;min-width:26px;padding:3px 2px}.sheet-table .col-sum{width:46px;min-width:46px;font-weight:700}.sheet-table .col-cs,.sheet-table .col-sig{width:78px;min-width:78px}.sheet-table .day-num{display:block;font-weight:700}.sheet-table .day-wd{display:block;font-size:.56rem;color:var(--md-on-surface-variant)}.sheet-table td.col-project{color:var(--md-on-surface)}.sheet-table .weekend{background:color-mix(in srgb,var(--md-tertiary-container) 55%,transparent)}.sheet-total-row td{background:var(--md-primary-container);color:var(--md-on-primary-container);font-weight:700}.sheet-total-row .weekend{background:color-mix(in srgb,var(--md-tertiary-container) 60%,var(--md-primary-container))}
