:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#18304b;background:#f5f7fb;font-synthesis:none;--ink:#18304b;--muted:#71859b;--blue:#316bdb;--line:#e7edf4}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#f5f7fb}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #8bb8f1;outline-offset:3px}
.report-shell{width:100%;max-width:1080px;margin:0 auto;padding-left:17px;padding-right:17px}
.report-header{background:#fff;border-bottom:1px solid #eaf0f5}.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:12px}.header-brand{display:flex;align-items:center;gap:13px;min-width:0}.header-mark{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#d9ebff,#edf6ff);color:#2163be;font-weight:850;font-size:20px}.header-copy{min-width:0}.header-copy h1{font-size:20px;line-height:1.26;letter-spacing:.01em;margin:0 0 5px;overflow-wrap:anywhere}.header-copy p{color:#788ba0;font-size:12px;margin:0}.header-copy time{color:#486782;font-weight:650}.logout-button{border:1px solid #e3eaf1;border-radius:9px;color:#62768b;background:#fff;padding:8px 11px;font-size:12px;white-space:nowrap}.logout-button:hover{background:#f4f8fc}
.report-body{padding-top:22px;padding-bottom:118px}.platform-tabs{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;padding-bottom:5px;margin-bottom:2px}.platform-tabs::-webkit-scrollbar{display:none}.platform-tab{white-space:nowrap;flex:none;border:1px solid #dfe8f2;padding:10px 14px;border-radius:11px;background:#fff;color:#59708a;font-size:13px;font-weight:650}.platform-tab.active{background:#1b4879;border-color:#1b4879;color:white;box-shadow:0 6px 16px rgba(31,74,124,.15)}.swipe-hint{color:#a0afbd;font-size:11px;margin:8px 2px 19px}
.overline{font-size:11px;letter-spacing:.16em;font-weight:800}.total-card{position:relative;overflow:hidden;border-radius:20px;padding:22px 21px 20px;background:linear-gradient(140deg,#173956 0%,#23567f 69%,#35689c 100%);color:white;box-shadow:0 14px 30px rgba(30,78,125,.17)}.total-card::after{content:"";pointer-events:none;position:absolute;width:235px;height:235px;border-radius:50%;right:-130px;top:-150px;border:46px solid rgba(255,255,255,.06)}.total-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.total-top .overline{color:#bad6ec}.row-count{font-size:11px;color:#c8dfef;white-space:nowrap}.total-label{font-size:13px;margin:29px 0 7px;color:#e1edf7}.total-amount{display:block;font-size:clamp(32px,7.8vw,44px);letter-spacing:-.03em;line-height:1.12;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.total-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;padding-top:19px;border-top:1px solid rgba(255,255,255,.22)}.total-split div{min-width:0}.total-split div+div{border-left:1px solid rgba(255,255,255,.18);padding-left:14px}.total-split span{display:block;font-size:11px;color:#c2d9eb;line-height:1.4;margin-bottom:8px}.total-split strong{font-size:clamp(17px,4.7vw,23px);line-height:1.15;display:block;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.total-split div:last-child strong{color:#f3e1cd}
.order-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:13px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 4px 17px rgba(20,51,85,.035);padding:17px 5px}.order-summary div{min-width:0;text-align:center;padding:2px 5px}.order-summary div+div{border-left:1px solid #e9eef3}.order-summary span{display:block;color:#8294a7;font-size:11px;line-height:1.3;margin-bottom:8px}.order-summary strong{font-size:clamp(17px,5vw,24px);font-variant-numeric:tabular-nums;color:#1b3853}
.category-heading{display:flex;align-items:end;justify-content:space-between;margin:31px 2px 14px}.category-heading .overline{color:#8da2b5;margin:0 0 5px}.category-heading h2{font-size:21px;line-height:1.2;margin:0;letter-spacing:.01em}.category-heading>span{font-size:12px;color:#6784a0;border:1px solid #e0eaf3;border-radius:8px;background:#fff;padding:5px 9px}
.category-list{display:grid;gap:13px}.category-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px 18px 16px;box-shadow:0 5px 19px rgba(27,60,93,.04)}.category-card::before{content:"";position:absolute;left:0;top:19px;height:27px;width:3px;background:#3981df;border-radius:0 4px 4px 0}.category-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.category-top h3{font-size:18px;margin:0;font-weight:800}.category-top>span{font-size:11px;color:#97a5b3;white-space:nowrap}.category-label{color:#8293a5;font-size:12px;margin:20px 0 5px}.category-amount{display:block;font-size:clamp(25px,6.8vw,33px);font-variant-numeric:tabular-nums;line-height:1.15;letter-spacing:-.02em;overflow-wrap:anywhere;color:#1d4674}.category-amounts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:19px}.category-amounts div{min-width:0;background:#f4f8fc;border-radius:10px;padding:12px}.category-amounts span,.category-orders span{display:block;font-size:10px;color:#8396a8;line-height:1.3;margin-bottom:6px}.category-amounts strong{font-size:clamp(14px,3.9vw,18px);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:#234b70}.category-amounts div:last-child strong{color:#a56743}.category-orders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:15px;padding-top:14px;border-top:1px solid #eaf0f5}.category-orders div{text-align:center;min-width:0}.category-orders div+div{border-left:1px solid #e9eef3}.category-orders strong{display:block;color:#2b485e;font-size:17px;font-variant-numeric:tabular-nums}.data-note{font-size:11px;color:#93a2b2;line-height:1.65;margin:18px 3px 0}
.empty-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:55px 26px;text-align:center;color:#758aa0;box-shadow:0 4px 18px rgba(20,51,85,.04)}.empty-card h2{margin:10px 0 8px;color:#244361;font-size:21px}.empty-card p{margin:0 auto;max-width:320px;font-size:13px;line-height:1.6}.empty-icon{width:54px;height:54px;margin:auto;display:grid;place-items:center;background:#edf5fc;color:#5c8ac1;border-radius:16px;font-size:29px}
.calendar-fab{position:fixed;z-index:40;right:max(18px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));width:62px;height:62px}.calendar-fab summary{width:62px;height:62px;list-style:none;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;background:#2d73d6;color:#fff;box-shadow:0 9px 25px rgba(33,99,187,.27);cursor:pointer}.calendar-fab summary::-webkit-details-marker{display:none}.calendar-fab summary:hover,.calendar-fab[open] summary{background:#205fb8}.calendar-fab svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.calendar-panel{position:absolute;bottom:76px;right:0;width:min(318px,calc(100vw - 32px));padding:20px;background:#fff;border:1px solid #e1eaf3;border-radius:16px;box-shadow:0 18px 50px rgba(27,59,91,.22)}.calendar-panel-head{display:grid;gap:4px;margin-bottom:17px}.calendar-panel-head strong{font-size:17px;color:#203c59}.calendar-panel-head span{font-size:12px;color:#8294a7}.calendar-panel form{display:grid;gap:11px}.calendar-panel label{font-size:12px;color:#5d7690;font-weight:700}.calendar-panel input,.login-form input{width:100%;min-width:0;min-height:46px;border:1px solid #ccdbe8;border-radius:9px;background:#fff;padding:10px 12px;color:#1b334e;font-size:15px}.primary-button{min-height:45px;padding:10px 16px;border:0;border-radius:9px;background:#2f70d0;color:#fff;font-weight:750;font-size:14px}.primary-button:hover{background:#205cba}
.front-login{max-width:430px;margin:0 auto;padding:64px 18px 30px;text-align:center}.login-mark{margin:auto;width:52px;height:52px;display:grid;place-items:center;background:#e4efff;border-radius:17px;color:#2a6ac5;font-size:23px;font-weight:850}.login-platform{color:#365b80;font-weight:750;font-size:16px;margin:14px 0 30px}.login-card{text-align:left;border:1px solid var(--line);border-radius:19px;background:#fff;padding:27px 23px;box-shadow:0 12px 33px rgba(26,57,89,.08)}.login-card .overline{color:#5b91ca;margin:0}.login-card h1{font-size:27px;margin:8px 0 6px}.login-intro{color:#8294a6;font-size:13px;line-height:1.6;margin:0 0 24px}.login-form{display:grid;gap:12px}.login-form label{color:#506982;font-weight:700;font-size:13px}.login-form .primary-button{margin-top:6px}.notice{border:1px solid #bcdacb;border-radius:9px;background:#f0f9f3;color:#226347;font-size:13px;padding:11px;margin:0 0 17px}.notice.error{background:#fff4f3;border-color:#efcbca;color:#a0383c}
@media(min-width:760px){.report-shell{padding-left:30px;padding-right:30px}.header-inner{min-height:96px}.header-copy h1{font-size:24px}.report-body{padding-top:27px}.total-card{padding:27px 30px 25px}.total-label{margin-top:34px}.order-summary{padding:20px 5px}.category-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.category-heading{margin-top:36px}}
@media(max-width:365px){.report-shell{padding-left:12px;padding-right:12px}.total-card{padding:18px 16px}.category-card{padding:17px 14px}.total-split{gap:8px}.total-split div+div{padding-left:9px}.header-copy h1{font-size:18px}.row-count{font-size:10px}}
@media(prefers-reduced-motion:no-preference){.calendar-fab summary{transition:transform .18s ease,background .18s ease}.calendar-fab summary:hover{transform:translateY(-2px)}}
