:root{--ink: #101a3a;--muted: #70778b;--line: rgba(16, 26, 58, .1);--brand: #ff3b30;--blue: #1677ff;--green: #18b967;--yellow: #f59e0b;--red: #ff3b4e;--glass: rgba(255, 255, 255, .8);--glass-strong: rgba(255, 255, 255, .9)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:url(/app_background.png) center / cover fixed no-repeat;font-size:14px;line-height:1.35}.app-shell{max-width:720px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding-bottom:68px}.glass-header{position:sticky;top:0;z-index:20;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:14px 16px;display:flex;align-items:center;gap:12px}.glass-header h1{font-size:22px;margin:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glass-header .subtitle{font-size:12px;color:var(--muted)}.row{background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:12px 16px;display:flex;align-items:center;gap:12px}button.row{width:100%;text-align:left;font:inherit;color:inherit;border-left:0;border-right:0;border-top:0;cursor:pointer}button.row:hover{background:var(--glass-strong)}.section-title{display:flex;align-items:center;gap:8px;padding:16px 16px 8px;font-weight:700;font-size:15px}.section-title:before{content:"";width:3px;height:18px;border-radius:2px;background:var(--green)}.panel{background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:12px 16px}.header-action{width:40px;height:40px;min-width:40px;border:1px solid var(--line);border-radius:11px;background:var(--glass-strong);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:22px;text-decoration:none;cursor:pointer}.hub-num{min-width:20px;font-weight:800;color:var(--blue)}.step-card{margin:5px 8px;padding:12px;border-radius:0 8px 8px 0;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.step-card.done{border-color:#18b96766;background:#f1fbf6d9}.step-card.active{border-color:#ff3b4e66;background:#fff5f5d9}.step-num{width:28px;height:28px;min-width:28px;border-radius:50%;border:1.3px solid currentColor;background:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}.approval-bar{position:fixed;bottom:62px;left:0;right:0;z-index:25;max-width:720px;margin:0 auto;padding:10px 16px;background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}.approval-bar .btn{width:100%}.progress-track{height:8px;border-radius:4px;background:#101a3a14;overflow:hidden}.progress-fill{height:100%;border-radius:4px;background:var(--blue)}.big-num{font-size:26px;font-weight:700;line-height:1}select.status-select{font:inherit;font-size:12px;font-weight:700;border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:var(--glass-strong)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;justify-content:space-around;background:var(--glass-strong);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 0 8px}.bottom-nav a{text-decoration:none;color:var(--muted);font-size:11px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:64px}.bottom-nav a.active{color:var(--blue)}.bottom-nav .icon{font-size:20px;line-height:1}.btn{border:1px solid var(--line);background:var(--glass-strong);color:var(--ink);border-radius:8px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.small{padding:4px 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:default}.icon-btn{border:none;background:none;cursor:pointer;font-size:16px;color:var(--muted);padding:4px}input.text,textarea.text{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--glass-strong);padding:10px 12px;font:inherit;color:var(--ink)}input.text:focus,textarea.text:focus{outline:2px solid var(--blue);border-color:transparent}.check{width:24px;height:24px;min-width:24px;border-radius:6px;border:1.6px solid var(--muted);background:#ffffffd9;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:transparent;font-size:15px;transition:background .12s,border-color .12s}.check.on{background:var(--blue);border-color:var(--blue);color:#fff}.check:disabled{opacity:.5;cursor:default}.num{font-weight:700;color:var(--muted);min-width:26px}.status-pill{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px}.status-pill.pass{background:#18b96726;color:var(--green)}.status-pill.fail{background:#ff3b4e21;color:var(--red)}.photo-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 0}.photo-thumb{position:relative;width:96px;height:72px;min-width:96px;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#e8eef5d9;cursor:pointer}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-thumb .del{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#0000008c;color:#fff;font-size:12px;cursor:pointer;line-height:1}.photo-upload{width:96px;height:72px;min-width:96px;border-radius:8px;border:1px dashed var(--blue);background:#ffffffb3;color:var(--blue);font-size:22px;cursor:pointer}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000e0;display:flex;align-items:center;justify-content:center}.lightbox img{max-width:94vw;max-height:88vh;object-fit:contain}.lightbox .close{position:absolute;top:14px;left:14px;background:#0009;color:#fff;border:none;border-radius:50%;width:38px;height:38px;font-size:17px;cursor:pointer}.lightbox .del{position:absolute;top:14px;right:14px;background:var(--red);color:#fff;border:none;border-radius:50%;width:38px;height:38px;font-size:16px;cursor:pointer}.center{display:flex;align-items:center;justify-content:center;min-height:60vh;flex-direction:column;gap:12px}.muted{color:var(--muted)}.error{color:var(--red);font-size:13px}.spacer{flex:1}.login-card{background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:16px;padding:32px 28px;width:min(92vw,380px);display:flex;flex-direction:column;gap:14px}.login-card h1{margin:0 0 4px;text-align:center}.login-card .logo{width:56px;height:56px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:16px}.metric{font-size:26px;font-weight:800;letter-spacing:-.5px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media (max-width: 480px){.grid-2{grid-template-columns:1fr}}dialog.modal{border:none;border-radius:14px;padding:20px;width:min(92vw,400px);background:#fffffff5}dialog.modal::backdrop{background:#0006}dialog.modal h3{margin-top:0}dialog.modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
