:root{--color-bg:#f3f4f6;--color-surface:#fff;--color-text:#111827;--color-text-muted:#4b5563;--color-text-subtle:#6b7280;--color-border:#d1d5db;--color-border-light:#e5e7eb;--color-accent:#111827;--color-link:#1d4ed8;--color-error-bg:#fef2f2;--color-error-text:#b91c1c;--color-table-head:#f9fafb;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--space-page:2rem;--space-panel:1.75rem;--width-narrow:420px;--doc-width:860px;--doc-padding-x:1.75rem;--doc-padding-y:1.75rem;--width-doc:var(--doc-width);--width-wide:1200px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.5}a{color:var(--color-link)}.app-page{min-height:100vh;padding:var(--space-page) 1rem 2.5rem;background:var(--color-bg)}.app-page--center{display:flex;align-items:center;justify-content:center}.app-container{width:100%;margin:0 auto}.app-container--narrow{max-width:var(--width-narrow)}.app-container--doc{max-width:var(--width-doc)}.app-container--wide{max-width:var(--width-wide)}.app-panel{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-panel)}.app-header{margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-border-light)}.app-header--page{margin-bottom:1.75rem;padding-bottom:0;border-bottom:none}.app-page__logout{position:fixed;top:1.25rem;right:1.25rem;border:none;background:none;color:var(--color-text-subtle);font:inherit;font-size:.85rem;text-decoration:underline;cursor:pointer}.app-page__logout:hover{color:var(--color-text)}.app-brand{display:block;height:18px;width:auto;max-width:100%;margin-bottom:1.5rem}.app-brand__contact{display:block;margin-top:.2rem;font-size:.8rem;font-weight:400;color:var(--color-text-subtle)}.app-title{margin:0;font-size:1.35rem;font-weight:700;line-height:1.35}.app-title--page{font-size:1.5rem}.app-description{margin:.5rem 0 0;color:var(--color-text-muted);font-size:.95rem;line-height:1.55}.app-back-link{display:inline-block;margin-bottom:1rem;color:var(--color-link);text-decoration:none;font-size:.95rem;font-weight:600}button.app-back-link{padding:0;border:0;background:none;font-family:inherit;cursor:pointer}.app-menu{display:flex;flex-direction:column;gap:.5rem}.app-menu__item{display:block;padding:.875rem 1rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-decoration:none;font-size:.98rem}.app-menu__item:hover{background:var(--color-table-head)}.app-form{gap:1rem}.app-field,.app-form{display:flex;flex-direction:column}.app-field{gap:.375rem}.app-label{font-size:.95rem;font-weight:600}.app-input{width:100%;height:48px;padding:0 .875rem;border:1px solid var(--color-border);background:var(--color-surface);font:inherit;font-size:16px;color:var(--color-text)}.app-input:focus{outline:2px solid #93c5fd;outline-offset:0}.app-button{height:48px;padding:0 1rem;border:1px solid var(--color-accent);background:var(--color-accent);color:#fff;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer}.app-button:hover:not(:disabled){background:#000}.app-button:disabled{opacity:.6;cursor:not-allowed}.app-button--secondary{border-color:var(--color-border);background:var(--color-table-head);color:var(--color-text)}.app-button--secondary:hover:not(:disabled){background:var(--color-border-light)}.app-button--block{width:100%}.app-alert{margin:0 0 1rem;padding:.75rem 1rem;border:1px solid var(--color-border-light);font-size:.95rem}.app-alert--error{border-color:#fecaca;background:var(--color-error-bg);color:var(--color-error-text)}.app-empty{padding:2rem 1rem;text-align:center;color:var(--color-text-subtle)}.app-section-title{margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border-light);font-size:1rem;font-weight:700}.notice-agree{display:flex;align-items:center;gap:.45rem;margin:0;font-size:.92rem;font-weight:600;line-height:1.45;cursor:pointer}.notice-agree input{flex:0 0 auto;margin:0}.app-actions{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.app-complete-box{margin:1.5rem 0;padding:1.25rem 1rem;border:1px solid var(--color-border);background:var(--color-table-head);text-align:center}.app-complete-box__label{margin:0 0 .5rem;font-size:.9rem;color:var(--color-text-subtle);font-weight:600}.app-complete-box__value{margin:0 0 .5rem;font-size:1.35rem;font-weight:700;letter-spacing:.02em}.app-complete-box__note{margin:0;font-size:.92rem;color:var(--color-text-muted)}.app-complete-box .app-menu__item{margin-top:1rem}@media (max-width:640px){.app-page{padding:1rem .75rem 2rem}.app-panel{padding:1.5rem 1.25rem}}