:root{--bg: #fff7f0;--card: #ffffff;--primary: #ff7ba9;--primary-d: #ff5c8f;--primary-l: #ffe3ec;--accent: #58b894;--accent-l: #e2f6ed;--text: #5b4a52;--muted: #b395a1;--line: #ffdfe9;--ok: #2fa57c;--err: #ef5b6d;--urgent: #ff6b81;--shadow: 0 6px 22px rgba(255, 122, 168, .14)}*{box-sizing:border-box}body{margin:0;font-family:PingFang SC,Microsoft YaHei,Hiragino Sans GB,Segoe UI,Roboto,sans-serif;background:radial-gradient(circle at 10% 18%,#ffe0eb 0%,transparent 30%),radial-gradient(circle at 90% 8%,#ddf3e8 0%,transparent 26%),radial-gradient(circle at 75% 92%,#fff0cf 0%,transparent 28%),radial-gradient(circle at 5% 85%,#e8e2ff 0%,transparent 24%),var(--bg);background-attachment:fixed;color:var(--text);min-height:100vh}.app{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:3px dashed var(--line);position:sticky;top:0;z-index:10}.brand{font-weight:800;font-size:20px;color:var(--text);display:flex;align-items:center;gap:8px}.brand .emoji{display:inline-block;animation:bounce 2.4s ease-in-out infinite;transform-origin:50% 90%}@keyframes bounce{0%,to{transform:translateY(0) rotate(-4deg)}30%{transform:translateY(-4px) rotate(4deg)}60%{transform:translateY(0) rotate(-2deg)}}.topbar nav{display:flex;gap:10px}.topbar nav a{padding:7px 16px;color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;border-radius:999px;transition:all .2s ease}.topbar nav a:hover{color:var(--primary);background:var(--primary-l)}.topbar nav a.router-link-active{color:#fff;background:linear-gradient(135deg,#ff9aae,#ff6f91);box-shadow:0 3px 10px #ff6f9159}.content{max-width:880px;margin:26px auto;padding:0 16px}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#ffe3ec,#fff0cf);border:2px solid var(--line);border-radius:24px;padding:26px 30px;margin-bottom:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-40px;left:-40px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#ffd9e6);opacity:.8}.hero-text{position:relative;z-index:1}.hero h1{margin:0 0 8px;font-size:26px}.hero-sub{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.6}.hero-badges{display:flex;gap:8px;flex-wrap:wrap}.badge{background:#fff;color:var(--primary-d);border:2px solid #ffc9db;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;box-shadow:0 2px 6px #ff7aa81f}.hero-art{font-size:64px;animation:float 3.2s ease-in-out infinite;filter:drop-shadow(0 6px 12px rgba(255,111,145,.25));flex-shrink:0}@keyframes float{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-10px) rotate(6deg)}}.steps{display:flex;align-items:center;justify-content:center;gap:14px;background:var(--card);border:2px dashed var(--line);border-radius:20px;padding:14px 20px;margin-bottom:18px;flex-wrap:wrap}.step{display:flex;align-items:center;gap:10px}.step-num{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#ff9aae,#ff6f91);color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px #ff6f9159;flex-shrink:0}.step b{display:block;font-size:14px}.step small{color:var(--muted);font-size:12px}.step-arrow{color:var(--primary);font-size:18px;font-weight:800}.card fieldset{border:2px solid var(--line);border-radius:18px;padding:6px 16px 16px;margin:14px 0;background:#fffdfe}.card legend{padding:0 10px;font-size:14px;font-weight:800;color:var(--primary-d)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}@media (max-width: 600px){.grid-2{grid-template-columns:1fr}}.submit-btn{width:100%;padding:14px 26px;font-size:16px;letter-spacing:1px}.promise{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}@media (max-width: 600px){.promise{grid-template-columns:1fr}}.promise-item{background:var(--card);border:2px solid var(--line);border-radius:18px;padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow)}.promise-item span{font-size:26px}.promise-item b{display:block;font-size:14px}.promise-item small{color:var(--muted);font-size:12px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0 12px}@media (max-width: 700px){.stats{grid-template-columns:repeat(2,1fr)}}.stat{background:linear-gradient(135deg,#fff,#fff3f7);border:2px solid var(--line);border-radius:18px;padding:14px 10px;text-align:center;box-shadow:var(--shadow)}.stat-num{display:block;font-size:26px;font-weight:800;color:var(--primary-d)}.stat-label{font-size:12px;color:var(--muted);font-weight:600}.urgent-stat{border-color:#ffcdd6;background:linear-gradient(135deg,#fff,#ffe9ee)}.urgent-stat .stat-num{color:var(--urgent)}.dist{background:var(--card);border:2px dashed var(--line);border-radius:18px;padding:12px 16px;margin-bottom:6px}.dist-row{display:flex;align-items:center;gap:12px;margin:7px 0}.dist-name{width:56px;font-size:13px;font-weight:700;color:var(--text)}.dist-bar{flex:1;height:12px;background:var(--primary-l);border-radius:999px;overflow:hidden}.dist-fill{height:100%;background:linear-gradient(90deg,#ff9aae,#ff6f91);border-radius:999px;transition:width .4s ease}.dist-count{width:24px;font-size:13px;font-weight:800;color:var(--primary-d)}.total{font-weight:800;color:var(--text)}.normal-tag{color:var(--primary-d);background:var(--primary-l);border-radius:999px;padding:3px 12px;font-size:12px;font-weight:700;display:inline-block}.status-select{padding:6px 10px;border:2px solid var(--line);border-radius:12px;font-family:inherit;font-size:13px;color:var(--text);outline:none;background:#fffdfe}.status-select:focus{border-color:var(--primary)}.card{background:var(--card);border:2px solid var(--line);border-radius:24px;padding:26px 28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:-34px;right:-34px;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff3f7,#ffd9e6);opacity:.7;pointer-events:none}.card:after{content:"";position:absolute;bottom:-20px;left:-20px;width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#e7fbf2,#cdeedd);opacity:.6;pointer-events:none}h1{margin:0 0 6px;font-size:24px;letter-spacing:.5px}.sub{color:var(--muted);margin:0 0 20px;font-size:14px}form label{display:block;margin:16px 0 7px;font-size:14px;font-weight:700}form input,form select,form textarea{width:100%;padding:11px 14px;border:2px solid var(--line);border-radius:16px;font-size:15px;font-family:inherit;background:#fffdfe;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}form input:focus,form select:focus,form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px #ff7ba929}form select,.toolbar select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ff7ba9' stroke-width='2.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}form textarea{resize:vertical}.radios{display:flex;gap:22px}.radio{display:flex;align-items:center;gap:7px;font-weight:600!important;margin:0!important;cursor:pointer}.radio input{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.file-btn{display:flex;align-items:center;justify-content:center;padding:15px 14px;margin:0;border:2px dashed var(--primary);border-radius:18px;background:var(--primary-l);color:var(--primary-d);font-size:14px;font-weight:700;cursor:pointer;transition:background .2s ease}.file-btn:hover{background:#ffd7e4}.file-btn input{display:none}button{margin-top:20px;padding:12px 26px;border:none;border-radius:999px;background:linear-gradient(135deg,#ff9aae,#ff6f91);color:#fff;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 5px 14px #ff6f9159;transition:transform .18s ease,box-shadow .18s ease,opacity .18s}button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ff6f9173;background:linear-gradient(135deg,#ff8da4,#ff5c8f)}button:active{transform:translateY(0)}button:disabled{opacity:.55;cursor:default;transform:none}.msg{margin-top:16px;padding:12px 16px;border-radius:16px;font-size:14px;font-weight:600}.msg.ok{background:var(--accent-l);color:var(--ok);border:2px solid #bfe9d8}.msg.err{background:#ffe9ee;color:var(--err);border:2px solid #ffcdd6}.banner{background:#fff7e0;border:2px dashed #ffd98a;color:#a3741e;padding:13px 16px;border-radius:18px;margin-bottom:20px;font-size:14px}.banner code{background:#fff;padding:2px 7px;border-radius:8px;border:1px solid #ffe3ae}table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;margin-top:10px;border:2px solid var(--line);border-radius:18px;overflow:hidden}th,td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}th{background:var(--primary-l);color:var(--primary-d);font-weight:700}tbody tr:last-child td{border-bottom:none}tbody tr:nth-child(2n){background:#fffafc}tbody tr:hover{background:#fff0f5}.desc{max-width:230px}.urgent{color:#fff;background:var(--urgent);border-radius:999px;padding:3px 12px;font-size:12px;font-weight:700;display:inline-block}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0 16px}.toolbar select{padding:8px 12px;border:2px solid var(--line);border-radius:12px;font-family:inherit;font-size:13px;color:var(--text);outline:none;background:#fffdfe}.toolbar select:focus{border-color:var(--primary)}.toolbar button{margin-top:0;padding:9px 18px;font-size:13px}.login{max-width:340px;margin:0 auto}.login input{margin-bottom:12px}
