:root{--bg:#faf8fa;--surface:#fff;--ink:#1b1a22;--muted:#85838e;--line:#eae8ec;--pink:#ed2486;--pink-soft:#fff0f7;--blue-soft:#f0f4ff;--green:#13885f;--green-soft:#eaf7f0;--amber:#b77c12;--amber-soft:#fff6e5;--shadow:0 10px 35px rgba(35,21,36,.045);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);color-scheme:light;}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.48;cursor:not-allowed}.hidden{display:none!important}svg{width:19px;height:19px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;top:0;bottom:0;left:0;width:246px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 15px 16px;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:5px 12px 35px}.brand-symbol{width:37px;height:37px;background:#1d1a22;border-radius:12px;color:var(--pink);font-size:27px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;line-height:1;position:relative;letter-spacing:-3px;flex-shrink:0}.brand-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;right:7px;top:6px}.brand-text{font-weight:850;font-size:19px;letter-spacing:-.7px}.brand-text b,.topbar-brand b{color:var(--pink)}.brand-text small{display:block;color:#94909b;font-size:8px;font-weight:700;letter-spacing:2px;margin-top:3px}.side-label{padding:0 16px;font-size:10px;color:#9c98a3;letter-spacing:1.7px;font-weight:750;margin:0 0 12px}.nav-link{display:flex;align-items:center;gap:14px;padding:13px 14px;margin:3px 0;border-radius:11px;color:#67636f;font-weight:600;transition:background .15s,color .15s}.nav-link svg{height:18px;width:18px}.nav-link:hover{background:#faf6f9}.nav-link.active{background:var(--pink-soft);color:#da1671}.side-bottom{margin-top:auto}.side-hint{display:flex;align-items:center;gap:10px;border-radius:15px;background:#fff4fa;padding:16px 12px;color:#45414a;font-size:11px;font-weight:700;margin:12px 0}.side-hint small{display:block;color:#948291;font-weight:450;margin-top:4px}.side-hint-icon{font-size:23px;color:var(--pink)}.profile-button{display:flex;align-items:center;gap:9px;border:0;background:transparent;width:100%;text-align:left;padding:10px 6px}.avatar{display:grid;place-items:center;height:34px;width:34px;border-radius:10px;background:#201c25;color:#fff;font-size:10px;font-weight:750}.user-label{flex:1;min-width:0}.user-label strong,.user-label small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-label strong{font-size:11px}.user-label small{color:var(--muted);font-size:10px;margin-top:3px}.side-ellipsis{font-size:11px;letter-spacing:1px;color:#87838c}.main-shell{margin-left:246px;min-width:0;flex:1}.topbar{height:74px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,55px);gap:16px;position:sticky;top:0;z-index:4}.breadcrumb{font-size:13px;font-weight:650}.breadcrumb span{color:#aaa5ad;font-weight:450;margin-right:7px}.topbar-brand{display:none}.header-actions{display:flex;align-items:center;gap:18px}.today-label{color:#88848e;font-size:12px}.icon-button{border:1px solid var(--line);background:#fff;height:35px;width:35px;border-radius:11px;display:grid;place-items:center;color:#5e5964}.icon-button svg{width:17px}.main{max-width:1380px;margin:auto;padding:38px clamp(22px,4vw,55px) 80px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px}.eyebrow{color:var(--pink);font-weight:800;letter-spacing:1.5px;text-transform:uppercase;font-size:10px;margin-bottom:8px}.page-head h1{font-size:clamp(25px,2.8vw,34px);margin:0;letter-spacing:-1.25px;font-weight:780}.page-head p{margin:9px 0 0;font-size:13px;color:var(--muted)}.head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{border:1px solid transparent;background:#fff;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;font-weight:650;font-size:12px;line-height:1.5;min-height:40px;white-space:nowrap}.btn svg{width:16px;height:16px}.btn-primary{background:var(--pink);color:#fff;box-shadow:0 6px 15px rgba(237,36,134,.16)}.btn-primary:hover{background:#d91a76}.btn-light{border-color:var(--line);color:#504b55}.btn-light:hover{background:#f8f7f9}.btn-danger{background:#fff2f3;color:#c03b49}.btn-small{padding:7px 10px;min-height:31px;font-size:11px;border-radius:8px}.quick-strip{display:flex;gap:10px;margin-bottom:25px;flex-wrap:wrap}.quick-strip .btn{background:#fff;border-color:var(--line)}.grid-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.stat-card,.panel,.table-card,.empty,.form-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:17px}.stat-card{padding:22px;min-height:151px}.stat-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:650}.stat-icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;color:#df267f;background:var(--pink-soft)}.stat-icon.blue{color:#5171c3;background:var(--blue-soft)}.stat-icon.green{color:var(--green);background:var(--green-soft)}.stat-icon.amber{color:var(--amber);background:var(--amber-soft)}.stat-icon svg{width:17px;height:17px}.stat-value{font-size:clamp(21px,2.1vw,28px);font-weight:780;letter-spacing:-.8px;margin:18px 0 5px;white-space:nowrap}.stat-sub{color:var(--muted);font-size:11px}.two-col{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.9fr);gap:20px}.panel{padding:23px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px}.panel-heading h2{font-size:15px;font-weight:750;margin:0;letter-spacing:-.2px}.mini-link{font-size:11px;font-weight:750;color:var(--pink)}.job-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #f1f0f2}.job-row:last-child{border-bottom:0}.job-mark{height:36px;width:36px;display:grid;place-items:center;border-radius:10px;background:#f9f5fa;color:#cd2575;flex-shrink:0}.job-mark svg{height:18px;width:18px}.grow{flex:1;min-width:0}.job-row h3{margin:0 0 5px;font-size:12px;font-weight:730;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.job-row small{color:var(--muted);font-size:11px}.pill{display:inline-flex;align-items:center;justify-content:center;max-width:100%;white-space:nowrap;border-radius:30px;padding:5px 9px;background:#f2f0f4;color:#706875;font-size:10px;font-weight:750}.pill.pink{background:var(--pink-soft);color:#c61c70}.pill.green{background:var(--green-soft);color:var(--green)}.pill.orange{background:var(--amber-soft);color:var(--amber)}.pill.blue{background:var(--blue-soft);color:#5370bc}.summary-mini{display:grid;gap:16px}.summary-line{display:flex;align-items:center;justify-content:space-between;border-bottom:1px dashed var(--line);padding-bottom:14px;color:#77727f;font-size:12px}.summary-line:last-child{border:0}.summary-line b{color:var(--ink)}.summary-line.highlight b{color:var(--green);font-size:18px}.note{padding:13px 15px;color:#8b7682;background:#fff5fa;border:1px solid #ffe2f1;border-radius:11px;font-size:11px;line-height:1.6}.table-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap}.searchbox{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);padding:0 12px;border-radius:10px;min-width:min(100%,300px);height:40px;color:#95919c}.searchbox input{border:0;background:transparent;outline:0;width:100%;min-width:0;font-size:12px}.searchbox svg{height:16px;width:16px}.filter-flex{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.select-small,.input-small{height:39px;border-radius:10px;border:1px solid var(--line);background:#fff;padding:0 12px;font-size:12px;color:#48424d;max-width:170px}.table-card{overflow:hidden}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background:#fcfbfd;color:#99939e;text-transform:uppercase;letter-spacing:.7px;font-size:10px;font-weight:740;padding:16px 19px;white-space:nowrap}td{border-top:1px solid #f0eef2;padding:15px 19px;font-size:12px;vertical-align:middle;color:#5a5560}td strong{color:#292630;font-weight:730}.muted{color:var(--muted)}.row-sub{display:block;margin-top:3px;font-size:10px;color:var(--muted)}td .btn{margin-right:4px}.table-actions{white-space:nowrap;text-align:right}.table-actions button{padding:6px 7px;border:0;background:none;color:#74707a;border-radius:7px}.table-actions button:hover{background:#f6eef3;color:#c22070}.table-actions svg{width:15px;height:15px}.money-pos{color:var(--green);font-weight:750}.money-neg{color:#d14d58;font-weight:750}.empty{text-align:center;padding:58px 25px;color:var(--muted)}.empty-icon{width:50px;height:50px;border-radius:16px;background:#fff0f7;color:var(--pink);display:grid;place-items:center;margin:0 auto 16px}.empty h3{color:var(--ink);margin:0 0 8px;font-size:16px}.empty p{max-width:360px;margin:0 auto 18px;line-height:1.6;font-size:12px}.finance-head{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.finance-head .stat-card{flex:1;min-width:170px}.form-card{padding:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:11px;color:#625e68;font-weight:710}.field label em{color:#d52a72;font-style:normal}.input,.textarea,.select{border:1px solid #e4e1e7;border-radius:10px;background:#fff;width:100%;min-height:41px;padding:10px 11px;outline:0;color:#302c35;font-size:12px}.input:focus,.textarea:focus,.select:focus{border-color:#f16ba8;box-shadow:0 0 0 3px #fff0f6}.textarea{resize:vertical;min-height:75px}.modal-layer{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(26,19,29,.52);backdrop-filter:blur(5px)}.modal{width:min(650px,100%);max-height:min(90vh,860px);display:flex;flex-direction:column;background:#fff;border-radius:19px;box-shadow:0 30px 100px rgba(28,12,25,.23);overflow:hidden}.modal.wide{width:min(840px,100%)}.modal-head{padding:21px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.modal-head h2{font-size:18px;margin:0;letter-spacing:-.3px}.modal-head p{font-size:11px;margin:6px 0 0;color:var(--muted)}.close-btn{width:32px;height:32px;border:0;border-radius:10px;background:#f5f3f6;color:#5d5963;display:grid;place-items:center;flex-shrink:0}.modal-body{overflow:auto;padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:9px;padding:15px 24px;border-top:1px solid var(--line);background:#fff}.modal-body .line-items{width:100%;overflow-x:auto}.modal-body .line-items table{min-width:510px}.line-items th,.line-items td{padding:8px 5px;border-top:0}.line-items input{width:100%;min-width:0;border:1px solid #e5e2e7;border-radius:7px;height:36px;padding:0 8px}.line-items th{background:none}.line-items .item-name{min-width:180px}.line-items .item-qty{width:65px}.line-items .item-rate{width:100px}.line-items .item-remove{border:0;background:#fff1f6;color:#c62870;width:32px;height:32px;border-radius:8px}.doc-totals{margin:15px 0 0 auto;max-width:270px}.doc-total-line{display:flex;justify-content:space-between;gap:10px;padding:9px 0;font-size:12px}.doc-total-line.strong{font-weight:800;font-size:17px;border-top:1px solid var(--line);color:var(--pink)}.toast{position:fixed;right:25px;bottom:30px;max-width:min(400px,calc(100vw - 40px));padding:14px 18px;border-radius:12px;background:#252129;color:white;box-shadow:0 14px 40px #0003;z-index:50;font-size:12px}.toast.error{background:#8e283e}.auth-view{min-height:100dvh;display:grid;place-items:center;padding:25px;background:radial-gradient(ellipse at 16% 15%,#ffe0ef,transparent 35%),#f9f6f9}.auth-card{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(320px,1fr);width:min(850px,100%);min-height:460px;border-radius:22px;background:#fff;box-shadow:0 25px 65px #38192917;overflow:hidden}.auth-art{background:#1f1b24;color:white;display:flex;flex-direction:column;justify-content:space-between;padding:42px;position:relative;overflow:hidden}.auth-art:after{position:absolute;content:"G";font-size:300px;font-weight:900;color:#e5238130;right:-22px;bottom:-85px;line-height:1}.auth-art .brand-symbol{background:#ffeff6;color:#e51d7d;width:50px;height:50px;font-size:37px}.auth-art h2{position:relative;font-size:34px;line-height:1.15;margin:0 0 12px;letter-spacing:-1px;z-index:1}.auth-art h2 span{color:#fd6aaf}.auth-art p{position:relative;font-size:13px;color:#c1bac6;max-width:260px;line-height:1.7;z-index:1}.auth-art small{z-index:1;color:#9a879c}.auth-form{padding:60px 48px;display:flex;flex-direction:column;justify-content:center}.auth-form h1{font-size:24px;letter-spacing:-.6px;margin:0 0 8px}.auth-form>p{color:var(--muted);font-size:12px;line-height:1.65;margin:0 0 29px}.auth-form form{display:grid;gap:15px}.auth-form .btn{margin-top:8px;height:44px}.auth-form .input{height:43px}.auth-warning{padding:11px;border-radius:9px;background:#fff8e9;color:#a57d32;font-size:11px;line-height:1.5;margin-top:18px}.bottom-nav{display:none}.topbar-brand .mini{height:27px;width:27px;border-radius:8px;font-size:19px;letter-spacing:-2px}.topbar-brand{font-weight:800;font-size:16px;letter-spacing:-.5px}.topbar-brand small{font-size:9px;color:#777}.checkbox-text{display:flex;align-items:center;gap:7px;font-size:12px}.checkbox-text input{accent-color:var(--pink)}.help-copy{font-size:12px;color:var(--muted);line-height:1.7;max-width:720px}.divider{border:0;border-top:1px solid var(--line);margin:24px 0}.settings-wrap{max-width:780px}.status-count{font-size:11px;color:var(--muted);margin-left:auto}.tag{display:inline-block;padding:2px 7px;background:#f7f2f5;border-radius:6px;font-size:10px}.clickable{cursor:pointer}.clickable:hover{background:#fffafd}
@media(max-width:1150px){.grid-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.main{padding:30px 28px 70px}}
@media(max-width:800px){.sidebar{display:none}.main-shell{margin:0;width:100%}.topbar{height:62px;padding:0 18px}.topbar-brand{display:flex;align-items:center;gap:8px}.breadcrumb{display:none}.today-label{font-size:10px}.main{padding:26px 18px 105px}.bottom-nav{height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:rgba(255,255,255,.97);border-top:1px solid var(--line);position:fixed;left:0;right:0;bottom:0;z-index:9;justify-content:space-around}.bottom-link{flex:1;max-width:140px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;font-size:10px;font-weight:650;color:#918b96}.bottom-link svg{width:21px;height:21px}.bottom-link.active{color:var(--pink)}.toast{bottom:92px}.page-head{margin-bottom:22px}}
@media(max-width:580px){.main{padding:22px 14px 105px}.grid-kpis{gap:9px}.stat-card{padding:15px;min-height:125px;border-radius:14px}.stat-value{font-size:21px;margin:13px 0 5px}.stat-top{font-size:10px}.stat-icon{height:30px;width:30px}.page-head{align-items:flex-start}.page-head h1{font-size:26px}.page-head p{font-size:12px}.page-head .btn{min-height:36px;padding:9px 11px}.page-head .btn svg{width:14px}.panel{padding:17px}.finance-head .stat-card{min-width:calc(50% - 5px)}.filter-flex{width:100%}.searchbox{min-width:0;width:100%}.filter-flex .select-small{flex:1;max-width:none}.table-card{border-radius:13px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:680px}.form-grid{grid-template-columns:1fr;gap:12px}.field.full{grid-column:auto}.modal-layer{padding:0;align-items:flex-end}.modal{width:100%!important;border-radius:18px 18px 0 0;max-height:92dvh}.modal-head{padding:18px}.modal-body{padding:18px}.modal-footer{padding:12px 18px calc(12px + env(safe-area-inset-bottom))}.modal-footer .btn{flex:1}.auth-card{display:block;min-height:0;max-width:440px}.auth-art{padding:26px;min-height:145px}.auth-art h2{font-size:23px}.auth-art p,.auth-art small{display:none}.auth-art:after{font-size:180px;right:8px;bottom:-60px}.auth-form{padding:30px 24px 35px}.auth-view{padding:14px}.header-actions{gap:6px}.today-label{display:none}.quick-strip{gap:7px}.quick-strip .btn{font-size:11px;padding:9px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.mt-16{margin-top:16px}
/* GRAFYNX Hub v1.1 — GRAPHINK reference document editor enhancements */
.settings-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 18px}.settings-section-head h2{font-size:16px;letter-spacing:-.3px;margin:0 0 5px}.settings-section-head p{font-size:11px;color:var(--muted);line-height:1.6;margin:0}.bank-list{display:grid;gap:12px}.bank-entry{padding:16px;border-radius:12px;border:1px solid var(--line);background:#fcfbfd}.bank-entry-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.bank-entry-head strong{font-size:12px}.logo-uploader{display:flex;gap:16px;align-items:center;margin-top:19px;padding:16px;background:#fcf9fb;border:1px solid var(--line);border-radius:12px}.logo-uploader strong{font-size:12px}.logo-uploader input[type=file]{display:block;width:100%;max-width:300px;margin:9px 0;font-size:11px}.logo-sample{width:88px;height:88px;flex:none;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--pink);font-size:23px;font-weight:850;overflow:hidden}.logo-sample img{height:100%;width:100%;object-fit:contain;padding:6px}.settings-actions{margin-top:22px;display:flex;justify-content:flex-end}.modal-body .line-items table{min-width:690px}.line-items .item-detail{display:block;margin-top:5px;color:#69626d;font-size:11px}.line-items .item-size{width:95px}.line-items .item-name{min-width:230px}
@media(max-width:580px){.settings-section-head{align-items:flex-start}.settings-section-head .btn{flex-shrink:0}.logo-uploader{align-items:flex-start;flex-direction:column}.logo-sample{width:96px;height:75px}.bank-entry{padding:12px}.settings-actions .btn{width:100%}}
