:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f4f3fa;background:#10101b;font-synthesis:none;--bg:#10101b;--pane:#171724;--pane2:#1c1b2b;--line:#302f40;--soft:#9e9daf;--muted:#6f7084;--purple:#9475ff;--purple2:#b59cff;--green:#61d7ac;--red:#ff8e9c;--shadow:0 20px 55px rgba(0,0,0,.18)}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--purple);outline-offset:3px}::selection{background:#5947a4}
.shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{background:#151420;border-right:1px solid #262636;padding:34px 18px 25px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;margin:4px 9px 50px;font-size:20px;letter-spacing:-.8px;font-weight:800;white-space:nowrap}.brand small{font-size:9px;letter-spacing:2.5px;color:var(--muted);display:block;font-weight:700;margin-top:1px}.brand-accent{color:var(--purple2)}.brand-icon{width:38px;height:38px;display:grid;place-items:center;color:var(--purple2);background:#2a234c;border-radius:12px}.brand-icon svg{width:31px}.menu-label{padding:0 13px;margin-bottom:12px;font-size:10px;letter-spacing:2px;font-weight:750;color:#69697e}.nav{display:flex;flex-direction:column;gap:7px}.nav-btn{display:flex;align-items:center;gap:14px;border:1px solid transparent;border-radius:12px;width:100%;padding:13px 14px;background:transparent;color:#a3a1b7;text-align:left;font-weight:590;font-size:13px;transition:.15s}.nav-btn.active{background:#30264e;color:#d7cafa;border-color:#4b396f}.nav-btn:not(.active):hover{background:#222031;color:white}.nav-icon{font-size:22px;width:24px;text-align:center;font-weight:500;line-height:1}.sidebar-bottom{margin-top:auto;padding:0 8px}.privacy-badge{background:#1a2926;border:1px solid #2a5243;color:#b9f0d9;display:flex;align-items:center;gap:10px;padding:14px;border-radius:14px;font-size:12px;font-weight:680;line-height:1.4}.privacy-badge small{font-size:10px;font-weight:450;color:#84baa4}.green-dot{height:9px;width:9px;background:#65d5a5;box-shadow:0 0 0 5px #2b4f42;border-radius:50%;flex:0 0 auto}.sidebar-bottom p{font-size:10px;color:#777689;line-height:1.7;padding:15px 4px 0;margin:0}
.main-area{min-width:0;display:flex;flex-direction:column}.topbar{height:83px;border-bottom:1px solid #222234;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,56px);flex-shrink:0}.breadcrumb{display:flex;align-items:center;gap:13px;font-size:12px;font-weight:650;color:#e6e4f1}.breadcrumb-parent{color:#777589;letter-spacing:1px;font-size:10px}.slash{color:#565469}.topbar-right{display:flex;align-items:center;gap:21px}.top-private{display:flex;align-items:center;gap:8px;color:#b3b2c2;font-size:11px}.top-private i{height:7px;width:7px;border-radius:50%;background:#5ccea4}.avatar-btn{height:36px;width:36px;border-radius:11px;background:#29253d;border:1px solid #3d3656;color:#c6b5fe;font-size:18px}.footer{text-align:center;font-size:10px;color:#646477;margin:32px 22px 26px;line-height:1.5}
#main{width:min(1160px,100%);padding:40px clamp(20px,4vw,55px) 0;margin:0 auto;flex:1}.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:30px}.eyebrow{font-size:11px;font-weight:720;letter-spacing:2.2px;color:#a992ff;text-transform:uppercase;margin:0 0 10px}.page-title{font-size:clamp(27px,3.2vw,38px);letter-spacing:-1.1px;font-weight:820;line-height:1.14;margin:0 0 11px}.subtitle{margin:0;color:#a9a7b9;font-size:13px;line-height:1.7}.action-button{background:linear-gradient(135deg,#7d5de8,#a27df5);border:1px solid #b69dfb;border-radius:12px;padding:13px 18px;color:white;font-size:12px;font-weight:750;box-shadow:0 8px 22px #6542bd2c;display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;transition:transform .15s}.action-button:hover{transform:translateY(-1px)}.action-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.ghost-button,.outline-btn{border:1px solid #454159;border-radius:10px;color:#d4d0e3;background:#232235;padding:11px 15px;font-size:12px;font-weight:650}.ghost-button:hover,.outline-btn:hover{border-color:#8b73c6}.outline-btn{background:transparent}.danger-button{border:1px solid #7a4253;border-radius:10px;color:#ffc3cc;background:#40212b;padding:11px 15px;font-size:12px;font-weight:700}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.muted{color:#918fa2}.divider{height:1px;background:var(--line);margin:24px 0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:33px 0 17px}.section-head h2{margin:0;font-size:16px;letter-spacing:-.35px}.section-head p{font-size:12px;color:var(--muted);margin:0}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric{padding:20px 19px;border:1px solid #353244;border-radius:17px;background:linear-gradient(135deg,#201e31,#1b1a29);min-width:0;position:relative;overflow:hidden}.metric:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-40px;top:-40px;background:#6540be0c}.metric .label{font-size:11px;color:#adabbe;font-weight:650;min-height:29px;display:flex;align-items:center;gap:8px}.metric .number{font-size:34px;font-weight:820;letter-spacing:-1.5px;margin:18px 0 10px;line-height:1}.metric small{font-size:11px;color:#9693a8}.metric .badge-delta{padding:4px 7px;border-radius:6px;background:#183a34;color:var(--green);font-size:10px;font-weight:750}.metric .badge-delta.red{background:#402634;color:var(--red)}.metric-icon{font-size:19px;color:#b498ff}.activity-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:18px}.card{border:1px solid #333042;background:linear-gradient(140deg,#1d1c2a,#191825);border-radius:18px;padding:23px;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:21px}.card-head h3{font-size:15px;letter-spacing:-.25px;margin:0}.card-sub{color:#8a879e;font-size:11px}.graph-wrap{height:183px;position:relative}.graph-wrap svg{width:100%;height:100%;overflow:visible}.graph-labels{display:flex;justify-content:space-between;color:#838094;font-size:10px}.graph-legend{font-size:11px;color:#a8a4b9;display:flex;gap:13px;margin-top:13px}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:var(--purple)}.legend-dot.green{background:var(--green)}.empty-chart{height:182px;display:flex;align-items:center;justify-content:center;text-align:center;color:#75748b;font-size:12px;line-height:1.7}.activity-item,.event-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #2a2937;min-width:0}.activity-item:last-child,.event-item:last-child{border-bottom:none}.event-dot{height:34px;width:34px;flex:0 0 34px;border-radius:10px;background:#193c32;color:#65dfb3;display:grid;place-items:center;font-weight:900;font-size:17px}.event-dot.removed{background:#422732;color:#ff95a0}.event-info{min-width:0;flex:1}.event-info strong{display:block;font-size:12px;font-weight:720;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-info span{display:block;color:#8b8a9d;font-size:10px;line-height:1.8}.event-right{color:#aaa8bb;font-size:10px;white-space:nowrap}.empty-state{border:1px dashed #424053;background:#1a1928;padding:33px 24px;text-align:center;border-radius:16px}.empty-state .emoji{font-size:34px;margin:0 0 15px}.empty-state h3{font-size:16px;margin:0 0 9px}.empty-state p{font-size:12px;line-height:1.8;color:#9895aa;max-width:470px;margin:0 auto 16px}.hint-card{padding:18px 20px;background:#29223e;border:1px solid #554277;color:#c8b5f0;border-radius:13px;font-size:12px;line-height:1.8}.hint-card.green{background:#19372f;border-color:#376752;color:#a9e9cd}.hint-card.warn{background:#38292b;border-color:#735152;color:#ffd5bc}.hint-card strong{color:#eee2ff}.hint-card.green strong{color:#d1ffe8}.hint-card.warn strong{color:#ffe5d1}
.steps-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 26px}.step-mini{display:flex;gap:12px;align-items:center;border-radius:13px;padding:15px;background:#1b1a2a;border:1px solid #2b293e;color:#a6a3b7;font-size:11px;line-height:1.5}.step-num{width:26px;height:26px;display:grid;place-items:center;border-radius:9px;color:#d3c3ff;background:#3a3054;flex:0 0 auto;font-weight:800}.step-mini b{color:#f1ecfc}.segment{display:inline-flex;padding:4px;background:#222033;border:1px solid #383346;border-radius:11px;gap:4px}.segment button{background:transparent;border:0;border-radius:8px;color:#a9a3b8;font-size:12px;font-weight:680;padding:10px 15px}.segment button.active{background:#55417f;color:#f8f0ff;box-shadow:0 2px 9px #0002}.import-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:stretch}.form-label{display:block;color:#d5d2e0;font-size:12px;font-weight:710;margin-bottom:9px}.form-help{color:#8c889f;font-size:11px;line-height:1.6;margin:9px 0 0}.field,.textarea,select.field{width:100%;padding:12px 13px;color:#efebfa;background:#13121f;border:1px solid #403a51;border-radius:11px;outline:none;transition:.15s;font-size:13px}.field:focus,.textarea:focus{border-color:#9274e4}.field::placeholder,.textarea::placeholder{color:#66637a}.textarea{min-height:170px;resize:vertical;line-height:1.6;tab-size:2}.textarea.review{min-height:245px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.dropzone{min-height:144px;border:1.5px dashed #675688;background:#211b31;border-radius:13px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:19px 13px;cursor:pointer;transition:.15s}.dropzone:hover,.dropzone.dragover{background:#2d2345;border-color:#bba3fa}.dropzone b{font-size:12px}.dropzone span{font-size:11px;color:#9e98b0;margin-top:7px}.dropzone svg{width:27px;height:27px;fill:none;stroke:#b6a0f0;stroke-width:2;margin-bottom:11px}.ocr-progress{display:none;background:#232037;color:#c4b6e7;border:1px solid #554775;border-radius:10px;padding:11px 13px;font-size:11px;line-height:1.5;margin-top:12px}.ocr-progress.show{display:block}.progressbar{height:5px;background:#342b51;margin-top:10px;border-radius:99px;overflow:hidden}.progressbar i{display:block;height:100%;width:0;background:#a988fa;transition:width .15s}.tip{padding:14px 16px;border:1px solid #373346;border-radius:12px;color:#b1acc3;font-size:11px;line-height:1.75;background:#1a1928}.summary-line{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px;font-size:12px}.counter{font-size:12px;padding:7px 10px;background:#2b243e;border-radius:8px;color:#dccaff;font-weight:750}.counter.bad{background:#462b33;color:#ffc0c9}.check-row{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#c4c0d4;line-height:1.6;margin:18px 0}.check-row input{accent-color:#a08afa;width:17px;height:17px;flex:0 0 auto;margin-top:2px}.status-line{color:#9f9aaf;font-size:11px;line-height:1.6;margin:9px 0 0}.status-line.good{color:#9de6bf}.status-line.bad{color:#ffb1bb}.snapshot-note{font-size:11px;color:#aca8b7}.separator-label{display:flex;align-items:center;gap:10px;color:#828097;font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:1.1px;margin:14px 0}.separator-label:before,.separator-label:after{content:"";height:1px;background:#3a3649;flex:1}
.filterbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.filterbar .field{flex:1;min-width:180px}.filterbar select{min-width:150px}.table-wrap{overflow:auto;border-radius:15px;border:1px solid #333042;background:#1a1927}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{color:#8e8a9f;background:#232131;font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:15px 17px;font-weight:790}td{padding:14px 17px;border-top:1px solid #2d2b3c;color:#c6c2d5;vertical-align:middle}td strong{color:#f5f1fb}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:7px;background:#17372d;color:#72ddb0;font-size:10px;font-weight:800}.status-pill.red{background:#422732;color:#ff9da5}.subtle{font-size:10px;color:#848094}.table-empty{padding:35px;text-align:center;color:#918da6;font-size:12px}.pagination{display:flex;align-items:center;justify-content:space-between;margin:14px 0;gap:10px;font-size:11px;color:#9a97ae}.pagination button{background:#242037;border:1px solid #49405f;color:#ddd0f7;border-radius:8px;padding:8px 12px}.pagination button:disabled{opacity:.35;cursor:default}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.settings-grid .card{height:100%}.settings-grid h3{margin:0 0 10px;font-size:16px}.settings-grid p{font-size:12px;color:#a29eaf;line-height:1.7}.settings-grid .field{margin:10px 0 13px}.settings-grid .row{margin-top:15px}.notice{padding:14px 18px;background:#1e1d2e;border-left:3px solid #9f82ed;border-radius:10px;font-size:11px;line-height:1.7;color:#aaa4be;margin-top:20px}.last-updated{margin:0 0 15px;color:#8c869e;font-size:11px}.mobile-nav{display:none}.toast{position:fixed;bottom:29px;right:26px;max-width:380px;border-radius:13px;color:#f0eaf8;background:#3e315d;border:1px solid #8369c5;box-shadow:0 13px 45px #0009;padding:14px 18px;font-size:12px;line-height:1.5;z-index:500;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#4f2b37;border-color:#a85b6b}.small-note{font-size:11px;color:#9692a7;line-height:1.7}.chip{font-size:10px;color:#bdafff;background:#302642;padding:5px 9px;border-radius:99px;font-weight:750}.record-item{border:1px solid #322e43;background:#1d1b2b;border-radius:13px;padding:17px;margin-bottom:11px}.record-item .record-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.record-item h4{font-size:12px;margin:0 0 6px}.record-item p{font-size:11px;color:#aba6bf;margin:0}.record-counts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.record-counts span{font-size:11px;padding:6px 9px;border-radius:8px;background:#27352f;color:#9de5c1}.record-counts span.red{background:#402b33;color:#ffadb4}.record-counts span.neutral{background:#2a2840;color:#c1b8db}.action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:13px 0}.install-guide{border:1px solid #393149;border-radius:11px;padding:14px;background:#211d2f;font-size:11px;line-height:1.8;color:#b3adc4}.install-guide b{color:#e8dfff}
@media(max-width:1080px){.shell{grid-template-columns:208px minmax(0,1fr)}.sidebar{padding:27px 12px}.brand{margin-left:8px;margin-bottom:45px;font-size:18px}.metric-grid{grid-template-columns:repeat(2,1fr)}.activity-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}}
@media(max-width:730px){.shell{display:block}.sidebar{display:none}.topbar{height:64px;padding:0 19px}.top-private{font-size:10px}.breadcrumb-parent{display:none}.breadcrumb .slash{display:none}.breadcrumb{font-size:13px}.main-area{min-height:calc(100vh - 64px)}#main{padding:28px 17px 0}.head-row{align-items:flex-start;flex-direction:column;margin-bottom:22px}.page-title{font-size:28px}.head-row .action-button{width:100%}.subtitle{font-size:12px}.metric-grid{gap:10px}.metric{padding:16px 14px}.metric .label{font-size:10px}.metric .number{font-size:30px;margin-top:14px}.metric small{font-size:10px}.card{padding:18px}.section-head{margin-top:26px}.steps-row{grid-template-columns:1fr;gap:7px}.step-mini{padding:10px}.import-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;height:calc(69px + env(safe-area-inset-bottom));padding:7px 3px calc(6px + env(safe-area-inset-bottom));background:#171522;border-top:1px solid #342d47;justify-content:space-around}.mobile-nav button{color:#858092;background:none;border:0;flex:1;display:flex;gap:2px;flex-direction:column;align-items:center;justify-content:center;font-size:9px;font-weight:720;min-width:0}.mobile-nav button b{font-size:21px;font-weight:450}.mobile-nav button.active{color:#ba9df9}.footer{margin-bottom:104px}.toast{right:12px;left:12px;bottom:83px;max-width:none}.filterbar .field,.filterbar select{flex:1;min-width:0;width:100%}.filterbar select{width:calc(50% - 6px)}.card-head{margin-bottom:13px}.record-item .record-head{align-items:flex-start}}
@media(max-width:400px){.metric .number{font-size:27px}.metric{padding:13px 10px}.segment button{padding:9px 10px;font-size:10px}.topbar{padding:0 13px}}
