:root{--ink:#0e1430;--magenta:#d4136f;--magenta-dark:#a80f58;--magenta-tint:#ffe3f0;--bright:#ff2e93;--mist:#aeb8da;--bg:#f3f4f9;--surface:#fff;--fg:#0e1430;--muted:#5a6385;--line:#dcdfec;--ok:#1f7a4d;--ok-tint:#e2f4ea;--warn:#8a5a00;--warn-tint:#fff4d6;--info:#0b5c8a;--info-tint:#e3f2fa;--danger:#b42318;--display:"Outfit", system-ui, sans-serif;--body:"Figtree", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--body);-webkit-tap-highlight-color:transparent;font-size:15px;line-height:1.45}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;margin:0;line-height:1.2}h1{font-size:24px}h2{font-size:19px}h3{font-size:16px}p{margin:0}a{color:var(--magenta)}input,select,textarea,button{font:inherit;color:inherit}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--danger);font-size:14px;font-weight:600}.stack{flex-direction:column;gap:12px;display:flex}.inline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.split{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.grow{flex:1;min-width:0}.logo{font-family:var(--display);color:#fff;font-size:20px;font-weight:700}.logo>span{color:var(--bright)}.logo small{font-family:var(--body);color:var(--mist);margin-left:8px;font-size:12px;font-weight:600}.btn{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--magenta);color:#fff}.btn-primary:not(:disabled):hover{background:var(--magenta-dark)}.btn-ok{background:var(--ok);color:#fff}.btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.btn-ghost:not(:disabled):hover{border-color:var(--ink)}.btn-danger{background:var(--surface);color:var(--danger);border:1px solid #f1c4c0}.btn-block{width:100%}.btn-sm{border-radius:10px;min-height:36px;padding:0 12px;font-size:14px}.icon-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;width:40px;height:40px;font-size:22px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.card-accent{border:2px solid var(--magenta)}.card-ok{background:var(--ok-tint);color:#14532d;border-color:#a6d9bc}.card-warn{background:var(--warn-tint);color:#5c3d00;border-color:#f0d58a}.card-dark{background:var(--ink);color:#fff;border-color:var(--ink)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.row{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.row:first-child{border-top:0}.row>span:first-child{color:var(--muted)}.row>span:last-child{text-align:right;font-weight:500}.row-strong>span{font-size:16px;color:var(--fg)!important;font-weight:700!important}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge-plain{color:var(--ink);background:#eef0f7}.badge-ok{background:var(--ok-tint);color:#14532d}.badge-warn{background:var(--warn-tint);color:var(--warn)}.badge-info{background:var(--info-tint);color:var(--info)}.badge-accent{background:var(--magenta-tint);color:var(--magenta-dark)}.badge-muted{color:var(--muted);background:#f0f1f5}.badge-danger{color:var(--danger);background:#fde8e7}.field{flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.field small{color:var(--muted);font-weight:400}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--surface);border-radius:10px;width:100%;min-height:46px;padding:10px 12px;font-weight:400}.field textarea{resize:vertical;min-height:80px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--ink);outline-offset:-1px}.code-input{font-family:var(--display);letter-spacing:.4em;text-align:center;font-size:28px!important;font-weight:700!important}.choice{gap:8px;display:flex}.choice label{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:46px;font-weight:600;display:flex}.choice label:has(input:checked){border:2px solid var(--ink)}.photos{flex-wrap:wrap;gap:8px;display:flex}.photos img,.photo-wait{object-fit:cover;background:#d9ddea;border-radius:10px;width:84px;height:84px;display:block}.photo-add{width:84px;height:84px;color:var(--muted);cursor:pointer;text-align:center;background:var(--surface);border:1.5px dashed #9aa3c4;border-radius:10px;justify-content:center;align-items:center;font-size:13px;display:flex}.photo-add input{display:none}.line{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.line:first-of-type{border-top:0}.line-title{font-weight:600}.line-price{font-family:var(--display);white-space:nowrap;font-weight:600}.line .badge{white-space:normal;margin-top:4px;line-height:1.35}.app-top{background:var(--ink);color:#fff;z-index:5;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.app-top button,.app-top a{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:600;text-decoration:none}.tech-main{flex-direction:column;gap:12px;max-width:560px;margin:0 auto;padding:16px 16px 120px;display:flex}.job-card{text-align:left;cursor:pointer;width:100%;font:inherit}.job-card:hover{border-color:var(--ink)}.sticky-foot{background:var(--surface);border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom));z-index:5;position:fixed;bottom:0;left:0;right:0}.sticky-foot>div{gap:10px;max-width:560px;margin:0 auto;display:flex}.steps{text-align:center;color:var(--muted);grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;font-size:11px;font-weight:600;display:grid}.steps div:before{content:"";background:var(--line);border-radius:3px;height:5px;margin-bottom:6px;display:block}.steps .on{color:var(--ink)}.steps .on:before{background:var(--ink)}.steps .now{color:var(--magenta-dark)}.steps .now:before{background:var(--magenta)}.admin{flex-wrap:wrap;min-height:100vh;display:flex}.admin-nav{background:var(--ink);color:#fff;flex-direction:column;flex:220px;gap:4px;max-width:100%;padding:20px 14px;display:flex}.admin-nav .logo{padding:0 10px 18px}.admin-nav a{color:#c9d0ea;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;font-weight:500;text-decoration:none;display:flex}.admin-nav a.on{color:#fff;background:#ffffff1a;font-weight:600}.admin-nav .who{color:var(--mist);flex-direction:column;gap:8px;margin-top:auto;padding:16px 10px 0;font-size:13px;display:flex}.admin-nav .who button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:8px;align-self:flex-start;padding:6px 10px}.admin-main{flex-direction:column;flex:999 640px;gap:18px;min-width:0;padding:24px;display:flex}.count{background:var(--bright);color:#fff;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.board{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:start;gap:14px;display:grid}.col{flex-direction:column;gap:10px;display:flex}.col-head{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:700}.bcard{background:var(--surface);border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;width:100%;padding:12px;font-size:13px;line-height:1.45;display:flex}.bcard:hover{border-color:var(--ink)}.bcard b{font-size:14px}.bcard-alert{border:2px solid var(--magenta)}.needs{flex-direction:column;gap:8px;display:flex}.need{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--magenta);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-top:1px solid var(--line);vertical-align:middle;padding:10px 12px}thead th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-top:0;font-size:12px}td input,td select{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;min-height:38px;padding:6px 8px}.num{text-align:right;white-space:nowrap}.modal-back{z-index:20;background:#0e143073;justify-content:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--bg);flex-direction:column;gap:14px;width:min(560px,100%);height:100%;padding:20px;display:flex;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.login{background:var(--ink);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login .card{gap:16px;width:min(400px,100%);padding:28px}.google-btn{color:#1f1f1f;background:#fff;border:1px solid #747775}.google-btn:not(:disabled):hover{background:#f2f2f2}@media (width<=640px){.admin-main{padding:16px}.admin-nav{flex-flow:wrap;gap:2px;padding:12px}.admin-nav .logo{width:100%;padding:0 6px 8px}.admin-nav a{padding:8px 10px;font-size:14px}.admin-nav .who{flex-direction:row;justify-content:space-between;align-items:center;width:100%;margin:0;padding:8px 6px 0}}
