:root{--c-primary: #123a5e;--c-primary-weak: #e8f0f7;--c-accent: #0f6e4f;--c-danger: #b3261e;--c-warn: #9a6700;--c-bg: #f4f6f8;--c-card: #ffffff;--c-line: #dde3ea;--c-text: #1c2733;--c-text-2: #5b6b7c;--radius: 10px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;background:var(--c-bg);color:var(--c-text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}#app{max-width:720px;margin:0 auto;min-height:100vh}a{color:var(--c-primary)}.card{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--radius);padding:14px;margin:10px 12px}.card h3{margin:0 0 10px;font-size:15px}.card-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.page{padding-bottom:84px}.page-title{font-size:17px;font-weight:600;padding:14px 14px 4px;color:var(--c-primary)}.app-header{background:var(--c-primary);color:#fff;padding:12px 14px calc(12px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}.app-header .title{font-size:17px;font-weight:600;letter-spacing:.5px}.app-header .who{font-size:12px;opacity:.85;text-align:right}.bottom-nav{position:fixed;bottom:0;left:0;right:0;max-width:720px;margin:0 auto;display:flex;background:#fff;border-top:1px solid var(--c-line);padding-bottom:env(safe-area-inset-bottom);z-index:20}.bottom-nav a{flex:1;text-align:center;padding:8px 2px 6px;font-size:11px;color:var(--c-text-2);text-decoration:none;white-space:nowrap}.bottom-nav a .icon{display:block;font-size:18px;line-height:1.2}.bottom-nav a.router-link-active{color:var(--c-primary);font-weight:600}.field{margin-bottom:12px}.field label{display:block;font-size:13px;color:var(--c-text-2);margin-bottom:4px}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid var(--c-line);border-radius:8px;font-size:15px;background:#fff;color:var(--c-text);font-family:inherit}.field textarea{min-height:64px;resize:vertical}.field .hint{font-size:12px;color:var(--c-text-2);margin-top:3px}.check-row{display:flex;flex-wrap:wrap;gap:8px}.check-pill{border:1px solid var(--c-line);border-radius:18px;padding:6px 12px;font-size:13px;cursor:pointer;background:#fff}.check-pill.on{background:var(--c-primary-weak);border-color:var(--c-primary);color:var(--c-primary);font-weight:600}.check-pill.disabled{opacity:.45;cursor:not-allowed}button,.btn{border:none;border-radius:8px;padding:10px 16px;font-size:15px;background:var(--c-primary);color:#fff;cursor:pointer;font-family:inherit}button.ghost{background:#fff;color:var(--c-primary);border:1px solid var(--c-primary)}button.danger{background:var(--c-danger)}button.small{padding:6px 10px;font-size:13px}button:disabled{opacity:.5}.btn-row{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:10px;background:var(--c-primary-weak);color:var(--c-primary);border:1px solid #c6d6e4;white-space:nowrap}.badge.green{background:#e7f4ee;color:var(--c-accent);border-color:#bfe0d0}.badge.red{background:#fbeae9;color:var(--c-danger);border-color:#ecc8c5}.badge.warn{background:#fdf3e0;color:var(--c-warn);border-color:#ecd9ad}.badge.gray{background:#eef0f3;color:var(--c-text-2);border-color:#d5dae1}.todo{display:flex;gap:10px;padding:10px 0;border-bottom:1px dashed var(--c-line);align-items:flex-start}.todo:last-child{border-bottom:none}.todo .dot{width:8px;height:8px;border-radius:50%;margin-top:7px;flex:none;background:var(--c-accent)}.todo.urgent .dot{background:var(--c-danger)}.todo .t-title{font-weight:600}.todo .t-detail{font-size:12px;color:var(--c-text-2)}.todo a{margin-left:auto;flex:none;align-self:center}.row{padding:10px 0;border-bottom:1px solid var(--c-line)}.row:last-child{border-bottom:none}.row .r-main{font-weight:600}.row .r-sub{font-size:12px;color:var(--c-text-2);display:flex;flex-wrap:wrap;gap:4px 10px}.login-wrap{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:24px}.login-box{background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:26px 22px}.login-brand{text-align:center;margin-bottom:26px}.login-brand .name{font-size:24px;font-weight:700;color:var(--c-primary);letter-spacing:2px}.login-brand .sub{font-size:13px;color:var(--c-text-2);margin-top:6px}.err-tip{color:var(--c-danger);font-size:13px;margin:6px 0}.kv{display:grid;grid-template-columns:38% 1fr;gap:6px 10px;font-size:13px}.kv .k{color:var(--c-text-2)}.kv .v{word-break:break-all}.divider{border:none;border-top:1px solid var(--c-line);margin:12px 0}.muted{color:var(--c-text-2);font-size:12px}.section-h{font-size:14px;font-weight:600;color:var(--c-primary);margin:14px 14px -4px}.photo-strip{display:flex;gap:8px;flex-wrap:wrap}.photo-strip img{width:84px;height:84px;object-fit:cover;border-radius:8px;border:1px solid var(--c-line)}@media(min-width:720px){body{font-size:15px}.page-title{padding-top:18px}}
