:root{--ink:#13211d;--muted:#66736d;--line:#d9dfdb;--paper:#f4f6f3;--card:rgba(255,255,255,.88);--green:#17684f;--green-soft:#e2f0ea;--orange:#e56b3f;--orange-soft:#f9e8df;--shadow:0 22px 60px rgba(19,33,29,.1)}*{box-sizing:border-box}html{background:var(--paper)}body{min-width:320px;margin:0;color:var(--ink);background:radial-gradient(circle at 80% 0,rgba(87,163,132,.15),transparent 34rem),linear-gradient(135deg,#f3f5f1,#eef1ed);font-family:Microsoft YaHei UI,PingFang HK,Noto Sans CJK SC,system-ui,sans-serif}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.topbar{height:74px;justify-content:space-between;padding:0 max(24px,calc((100vw - 1380px)/2));background:rgba(247,249,246,.84);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand,.topbar{display:flex;align-items:center}.brand{gap:12px}.brand-icon,.brand-mark{width:40px;height:40px;display:grid;place-items:center;overflow:hidden;border-radius:9px}.brand-icon img{width:100%;height:100%;display:block}.brand small,.brand strong{display:block}.brand strong{font-size:17px}.brand small{margin-top:2px;color:var(--muted);font:700 9px ui-monospace,monospace;letter-spacing:.12em}.topbar form button{padding:8px 14px;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:7px;cursor:pointer}.date-toolbar{width:min(calc(100% - 48px),1380px);display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px auto 0;padding:18px 22px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.95);border-radius:12px;box-shadow:0 12px 32px rgba(19,33,29,.06);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.date-toolbar>div span,.date-toolbar>div strong{display:block}.date-toolbar>div strong{font-size:18px}.date-toolbar>div span{margin-top:3px;color:var(--muted);font-size:12px}.date-toolbar label{display:flex;align-items:center;gap:12px}.date-toolbar label span{color:var(--muted);font-size:12px;font-weight:700}.date-toolbar input{height:42px;padding:0 11px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:7px}.hero{width:min(calc(100% - 48px),1380px);min-height:270px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:22px auto 0;padding:42px 46px;color:#f6faf7;background:radial-gradient(circle at 80% 25%,rgba(64,157,119,.48),transparent 24rem),linear-gradient(130deg,#101c18,#1b342b);border-radius:16px;box-shadow:var(--shadow)}.hero>div>span{color:#85c7aa;font:700 11px ui-monospace,monospace;letter-spacing:.16em}.hero h1{margin:14px 0 10px;font-size:clamp(38px,5vw,67px);line-height:1.02;letter-spacing:-.055em}.hero p{margin:0;color:#b8c8c1;font-size:16px}.hero label{min-width:220px;padding:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero label span{display:block;margin-bottom:8px;color:#c9d8d1;font-size:12px;font-weight:700}.hero input{width:100%;height:43px;padding:0 10px;color:var(--ink);background:#fff;border:0;border-radius:7px}.summary{width:min(calc(100% - 48px),1380px);display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:1px;margin:14px auto 0;overflow:hidden;background:var(--line);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(19,33,29,.06)}.summary article{padding:20px 24px;background:rgba(255,255,255,.9)}.summary article.total{color:#fff;background:var(--green)}.summary small,.summary span,.summary strong{display:block}.summary span{color:var(--muted);font-size:13px;font-weight:700}.summary .total small,.summary .total span{color:#c7e4d7}.summary strong{margin-top:5px;font:800 34px ui-monospace,monospace}.summary small{color:var(--muted);font-size:11px}.workspace{width:min(calc(100% - 48px),1380px);display:grid;grid-template-columns:minmax(350px,.72fr) minmax(520px,1.28fr);gap:14px;align-items:start;margin:14px auto 70px}.entry-panel,.records-panel{padding:27px;background:var(--card);border:1px solid rgba(255,255,255,.9);border-radius:14px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.section-title{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px}.section-title>span{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;color:var(--green);border:1px solid #a8c8ba;border-radius:50%;font:700 10px ui-monospace,monospace}.section-title h2{margin:0;font-size:23px;letter-spacing:-.03em}.section-title p{margin:4px 0 0;color:var(--muted);font-size:13px}.status-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;background:#e7ebe8;border-radius:9px}.status-switch button{height:45px;color:var(--muted);background:transparent;border:0;border-radius:7px;cursor:pointer;font-weight:800}.status-switch button.active{color:#fff;background:var(--green);box-shadow:0 7px 16px rgba(23,104,79,.2)}.photo-drop{min-height:168px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;margin-top:13px;overflow:hidden;color:var(--muted);background:#f8faf7;border:1px dashed #aebbb4;border-radius:10px;cursor:pointer;transition:.2s}.photo-drop.dragging,.photo-drop:hover{color:var(--green);background:var(--green-soft);border-color:var(--green);transform:translateY(-2px)}.photo-drop input{position:absolute;width:1px;height:1px;opacity:0}.photo-drop>b{width:48px;height:48px;display:grid;place-items:center;color:#fff;background:var(--green);border-radius:50%;font-size:28px}.photo-drop strong{color:var(--ink);font-size:16px}.photo-drop span{font-size:12px}.pending-list{display:grid;gap:8px;margin-top:12px}.pending-list article{display:grid;grid-template-columns:76px minmax(0,1fr) 30px;gap:11px;align-items:center;padding:8px;background:#fff;border:1px solid var(--line);border-radius:9px}.pending-list article>img{width:76px;height:76px;object-fit:cover;border-radius:6px}.pending-list article>div{min-width:0}.pending-list article span,.pending-list article strong{display:block}.pending-list article strong{font-size:13px}.pending-list article span{margin:2px 0 7px;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.pending-list label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:700}.pending-list input{width:105px;height:34px;padding:0 8px;color:var(--ink);background:#f8faf7;border:1px solid var(--line);border-radius:6px;outline:none}.pending-list input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,104,79,.09)}.pending-list article>button{width:30px;height:30px;padding:0;color:#9b4937;background:transparent;border:0;border-radius:5px;cursor:pointer;font-size:20px}.pending-list article>button:hover{background:var(--orange-soft)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:15px}.form-grid label span{display:block;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:700}.form-grid input,.form-grid select{width:100%;height:45px;padding:0 11px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:7px;outline:none}.form-grid input:focus,.form-grid select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,104,79,.09)}.submit{width:100%;height:51px;margin-top:16px;color:#fff;background:var(--green);border:0;border-radius:8px;cursor:pointer;font-weight:800}.submit:hover{background:#0e533d}button:disabled{opacity:.5;cursor:not-allowed}.records-panel{min-height:615px}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-grid article{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:10px}.photo-button{width:100%;height:190px;display:block;position:relative;padding:0;overflow:hidden;background:#dfe5e1;border:0;cursor:pointer}.photo-button img{width:100%;height:100%;object-fit:cover;transition:.25s}.photo-button:hover img{transform:scale(1.035)}.photo-button>b{position:absolute;right:10px;bottom:10px;min-width:70px;padding:9px 12px;color:#fff;background:rgba(13,26,21,.84);border:1px solid rgba(255,255,255,.25);border-radius:8px;font:800 24px ui-monospace,monospace;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.photo-button small{margin-left:3px;font-size:11px}.photo-info{padding:13px 44px 13px 13px}.photo-info strong{display:block;margin-top:8px;font-size:15px}.photo-info p{margin:4px 0 0;color:var(--muted);font-size:12px}.status{display:inline-block;padding:3px 7px;color:var(--green);background:var(--green-soft);border-radius:4px;font-size:11px;font-weight:800}.status.combined{color:#a54725;background:var(--orange-soft)}.delete{position:absolute;right:10px;bottom:13px;padding:4px;color:#a34834;background:transparent;border:0;cursor:pointer;font-size:12px}.empty{min-height:450px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--muted);border:1px dashed var(--line);border-radius:10px}.empty b{color:var(--ink);font-size:18px}.empty span{font-size:13px}.toast{position:fixed;right:22px;bottom:22px;z-index:20;display:flex;align-items:center;gap:25px;padding:14px 16px;color:#fff;background:#14241e;border-radius:8px;box-shadow:0 16px 40px rgba(0,0,0,.2)}.toast button{color:#fff;background:transparent;border:0;font-size:20px;cursor:pointer}.lightbox{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:28px;background:rgba(5,12,9,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:zoom-out}.lightbox>div{max-width:min(960px,92vw);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;cursor:default}.lightbox img{display:block;max-width:100%;max-height:75vh;margin:auto}.lightbox footer{display:grid;grid-template-columns:1fr auto;gap:5px 20px;padding:16px 19px}.lightbox footer small,.lightbox footer span{color:var(--muted)}.lightbox footer strong{font-size:20px}.lightbox footer small{grid-column:1/-1}.close{position:fixed;right:24px;top:20px;width:44px;height:44px;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;font-size:26px}.login-page{min-height:100dvh;display:grid;grid-template-columns:1.15fr .85fr;background:#eef1ed}.login-visual{display:flex;align-items:flex-end;position:relative;overflow:hidden;padding:64px;color:#fff;background:radial-gradient(circle at 75% 20%,rgba(45,145,104,.46),transparent 25rem),#102019}.login-visual span{color:#85c7aa;font:700 11px ui-monospace,monospace;letter-spacing:.15em}.login-visual h1{margin:16px 0 12px;font-size:clamp(55px,7vw,92px);line-height:.95;letter-spacing:-.06em}.login-visual p{max-width:450px;color:#b9c9c1;font-size:16px}.stack-art{position:absolute;right:10%;top:12%;width:260px;height:230px;transform:rotate(-7deg)}.stack-art i{height:42px;display:block;position:absolute;left:0;right:0;background:linear-gradient(90deg,#2d765a,#56ae87);border:1px solid rgba(255,255,255,.2);border-radius:5px;box-shadow:0 18px 24px rgba(0,0,0,.2)}.stack-art i:first-child{top:0}.stack-art i:nth-child(2){top:58px;left:10px}.stack-art i:nth-child(3){top:116px;left:-7px}.stack-art i:nth-child(4){top:174px;left:5px}.login-card{width:min(calc(100% - 48px),420px);align-self:center;margin:auto;padding:38px;background:rgba(255,255,255,.8);border:1px solid #fff;border-radius:16px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-card h2{margin:25px 0 4px;font-size:27px}.login-card>p{margin:0 0 25px;color:var(--muted)}.login-card label span{display:block;margin-bottom:8px;font-size:13px;font-weight:700}.login-card input{width:100%;height:49px;padding:0 12px;border:1px solid var(--line);border-radius:7px}.login-card>button{width:100%;height:49px;margin-top:15px;color:#fff;background:var(--green);border:0;border-radius:7px;font-weight:800}.error{margin-top:10px;padding:10px;color:#9a3e2b;background:#f9e5df;border-radius:6px;font-size:13px}@media(max-width:900px){.summary{grid-template-columns:1fr 1fr}.workspace{grid-template-columns:1fr}.records-panel{min-height:400px}.login-page{grid-template-columns:1fr}.login-visual{min-height:380px;padding:36px}.login-card{margin:30px auto}}@media(max-width:600px){.topbar{height:64px;padding:0 12px}.brand small{display:none}.date-toolbar,.summary,.workspace{width:calc(100% - 20px)}.date-toolbar{align-items:stretch;flex-direction:column;gap:13px;margin-top:10px;padding:15px}.date-toolbar label{justify-content:space-between}.date-toolbar input{flex:1 1;max-width:210px}.summary article{padding:16px}.summary strong{font-size:29px}.workspace{margin-top:10px}.entry-panel,.records-panel{padding:19px;border-radius:10px}.form-grid{grid-template-columns:1fr}.pending-list article{grid-template-columns:64px minmax(0,1fr) 28px}.pending-list article>img{width:64px;height:70px}.pending-list label{align-items:flex-start;flex-direction:column;gap:4px}.pending-list input{width:100%}.photo-grid{grid-template-columns:1fr}.photo-button{height:210px}.login-visual{min-height:320px;padding:25px}.login-visual h1{font-size:52px}.stack-art{width:160px;height:180px;right:-20px;opacity:.55}.login-card{width:calc(100% - 24px);padding:27px}.lightbox{padding:12px}.close{right:12px;top:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}