:root{--n:#06254f;--b:#2368e7;--bg:#f4f7fb;--bd:#dce5ef;--t:#10233f}*{box-sizing:border-box}body{background:var(--bg);color:var(--t);margin:0;font-family:Arial,Noto Sans Thai,sans-serif}.center,.login{place-items:center;min-height:100vh;display:grid}.login{background:linear-gradient(135deg,#061e43,#0f4b9d)}.card{background:#fff;border-radius:18px;width:min(430px,92vw);padding:40px}.brand{color:#07234d;font-size:34px;font-weight:800}.brand span{color:#2d79ff}.white{color:#fff}.crm{text-align:right;color:#75849a}.card form{gap:10px;margin-top:24px;display:grid}.card input{border:1px solid var(--bd);border-radius:9px;padding:12px}.card button{background:var(--b);color:#fff;border:0;border-radius:9px;padding:12px;font-weight:700}.error{color:#b22;background:#fff0f0;border-radius:8px;padding:10px}.shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.shell aside{color:#fff;background:linear-gradient(#06254f,#041a38);flex-direction:column;padding:22px 14px;display:flex}.shell nav{gap:7px;margin-top:24px;display:grid}.shell nav a{color:#dce9fb;border-radius:9px;padding:12px}.shell nav .active{color:#fff;background:#1762cc}.logout{color:#fff;background:0 0;border:1px solid #fff4;border-radius:8px;margin-top:auto;padding:10px}.work{padding:0 22px 25px}.work header{border-bottom:1px solid var(--bd);background:#fff;justify-content:space-between;align-items:center;height:86px;margin:0 -22px 18px;padding:16px 22px;display:flex}.work h1{margin:0}.work p{color:#6f7f94;margin:5px 0}.kpis{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.kpi,.panel{border:1px solid var(--bd);background:#fff;border-radius:14px}.kpi{padding:18px}.kpi small{color:#617186;font-weight:700;display:block}.kpi strong{margin-top:10px;font-size:24px;display:block}.panel{margin-top:14px;padding:18px;overflow:auto}.panel h2{margin-top:0}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #edf1f6;padding:12px}th{color:#53657b;background:#f8fafc}td span{color:#1458c5;background:#eaf2ff;border-radius:99px;padding:5px 9px;font-size:12px;font-weight:700}small{color:#6f7f94}@media (max-width:900px){.shell{grid-template-columns:80px 1fr}.shell aside nav a{font-size:0}.kpis{grid-template-columns:1fr 1fr}}a{color:var(--b);text-decoration:none}button,input,select,textarea{font:inherit}button{background:var(--b);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:9px;min-height:42px;padding:10px 16px;font-weight:600}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #70a8ff}.secondary{color:var(--t);border-color:var(--bd);background:#fff}.text-button{color:#1659bb;background:#eef4ff;padding:7px 12px}.icon-button{color:var(--t);background:0 0;font-size:20px}input,select,textarea{width:100%;color:var(--t);background:#fff;border:1px solid #cbd7e6;border-radius:8px;padding:11px 12px}textarea{resize:vertical}label{color:#53657b;font-size:13px;font-weight:600;display:block}label input,label select,label textarea{margin-top:7px;display:block}input::placeholder{color:#8794a7}.shell{grid-template-columns:246px minmax(0,1fr)}.shell>aside{height:100dvh;padding:28px 16px 18px;position:sticky;top:0;overflow-y:auto}.shell .brand{letter-spacing:-1px;white-space:nowrap;font-size:29px}.shell .crm{letter-spacing:2px;padding-right:8px;font-size:12px}.shell nav a{align-items:center;gap:12px;min-height:46px;padding:12px 14px;font-size:14px;display:flex}.shell nav a>span{text-align:center;width:22px;font-size:19px}.shell nav a:hover{background:#ffffff12}.shell nav a.active{background:#1762cc}.sidebar-user{overflow-wrap:anywhere;margin-top:auto;padding:30px 10px 18px;font-size:13px}.sidebar-user small{color:#9bb7db;margin-top:5px;display:block}.logout{width:100%;margin-top:0}.work{min-width:0;padding:0 28px 32px}.work header.page-header{gap:20px;height:auto;min-height:116px;margin:0 -28px 24px;padding:22px 28px}.page-header h1{letter-spacing:-.7px;font-size:27px}.page-header p{font-size:13px;line-height:1.6}.page-header .eyebrow,.eyebrow{letter-spacing:2px;color:#8a9bb0;margin:0 0 8px;font-size:10px;font-weight:700}.actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.danger,.danger-outline{color:#a61b1b;cursor:pointer;background:#fff5f5;border:1px solid #d86363;border-radius:8px;padding:9px 13px;font-weight:700}.danger{color:#fff;background:#bd2929}.danger:disabled,.danger-outline:disabled{opacity:.5;cursor:not-allowed}.header-delete{margin-left:20px}.row-actions{white-space:nowrap}.row-actions .danger-outline{margin-left:14px}.timeline-delete{margin-left:16px}.delete-dialog{border:0;border-radius:16px;width:min(560px,100vw - 28px);max-height:calc(100dvh - 28px);padding:26px;overflow:auto;box-shadow:0 24px 70px #00183355}.delete-dialog::backdrop{background:#07172b99}.delete-dialog h2{margin-top:0}.delete-warning{color:#9d2525;line-height:1.6}.delete-counts{gap:8px;display:grid}.delete-counts>div{border-bottom:1px solid var(--bd);justify-content:space-between;padding:6px 0;display:flex}.delete-counts dd{margin:0;font-weight:700}.delete-ack{align-items:flex-start;gap:9px;margin:22px 0;line-height:1.5;display:flex}.delete-ack input{margin-top:3px}.delete-actions{flex-wrap:wrap;justify-content:flex-end;gap:14px;display:flex}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px;display:flex}.toolbar .search{flex:1;min-width:200px;max-width:500px}.toolbar>label:not(.search){min-width:150px}.toolbar.panel{margin-top:0;padding:18px}.panel{padding:22px;overflow:visible}.panel h2{letter-spacing:-.3px;margin-bottom:20px;font-size:17px}.table-scroll{border:1px solid #edf1f6;border-radius:9px;max-width:100%;overflow:auto}table{font-size:13px}th{white-space:nowrap;font-size:12px;font-weight:600}td{min-width:100px;line-height:1.6}td:first-child{min-width:190px}.record-link{color:#164e96;font-weight:600}.badge,td span.badge{white-space:nowrap;color:#1458c5;background:#eaf2ff;border-radius:6px;padding:3px 9px;font-size:11px;display:inline-block}.pagination{color:#6f7f94;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:12px;display:flex}.pagination>div{gap:8px;display:flex}.pagination button{min-height:34px;padding:7px 10px;font-size:12px}.empty{text-align:center;color:#6f7f94;padding:45px 18px;line-height:1.8}.success{color:#1c7048;background:#e8f7ef;border:1px solid #bfe4ce;border-radius:9px;margin-bottom:16px;padding:12px 16px}.error{overflow-wrap:anywhere;margin-bottom:15px;line-height:1.6}.required{color:#b22}.editor{width:min(760px,100vw - 24px);max-height:90dvh;color:var(--t);border:0;border-radius:16px;padding:0;box-shadow:0 25px 80px #06254f55}.editor::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#071d3c88}.editor form{flex-direction:column;max-height:90dvh;display:flex}.editor-head{border-bottom:1px solid var(--bd);justify-content:space-between;align-items:center;padding:22px 26px;display:flex}.editor h2{margin:0;font-size:21px}.editor-body{padding:24px 26px;overflow-y:auto}.editor-footer{border-top:1px solid var(--bd);background:#f8fafc;justify-content:flex-end;gap:10px;padding:16px 26px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.wide{grid-column:1/-1}.finance-preview{background:#eff5ff;border-radius:10px;flex-wrap:wrap;gap:24px;margin-top:22px;padding:16px;font-size:14px;display:flex}.finance-preview small{width:100%}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;display:grid}.close-detail{border-top:1px solid var(--bd);margin-top:24px;padding-top:20px}.detail-grid dt{color:#73849b;margin-bottom:7px;font-size:12px}.detail-grid dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.7}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.section-heading h2{margin:0}.reason-list{gap:10px;margin-top:16px;display:grid}.reason-list>div{border:1px solid var(--bd);border-radius:10px;justify-content:space-between;gap:16px;padding:12px 14px;display:flex}.back-link{margin-bottom:10px;font-size:12px;display:block}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.kpi{min-width:0;padding:20px}.kpi strong{overflow-wrap:anywhere;font-size:24px}.kpi p{font-size:11px;line-height:1.6}.chart-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.bar-row{grid-template-columns:130px 1fr 90px;align-items:center;gap:12px;margin:15px 0;font-size:12px;display:grid}.bar-track{background:#edf2f8;border-radius:6px;height:9px;overflow:hidden}.bar-fill{background:linear-gradient(90deg,#2368e7,#79a9ff);border-radius:6px;height:100%}.bar-value{text-align:right;font-variant-numeric:tabular-nums}.kanban{align-items:flex-start;gap:16px;min-height:65vh;padding:4px 0 24px;display:flex;overflow-x:auto}.kanban-column{background:#eaf0f7;border-top:3px solid #6395dc;border-radius:12px;flex:0 0 280px;width:280px;min-height:260px;padding:12px}.kanban-column.won{background:#eaf5ef;border-top-color:#29a16b}.kanban-column.closed{border-top-color:#aab3c0}.kanban-heading{padding:6px 4px 10px}.kanban h2{justify-content:space-between;align-items:center;margin:0;font-size:14px;display:flex}.kanban h2 span{color:#69809d;background:#fff;border-radius:5px;padding:3px 7px;font-size:11px}.kanban-heading p{margin-top:8px;font-size:12px}.opportunity-card{color:var(--t);background:#fff;border:1px solid #dae3ee;border-radius:10px;margin-top:12px;padding:16px;transition:box-shadow .15s,transform .15s;display:block;box-shadow:0 2px 4px #12335c05}.opportunity-card:hover{transform:translateY(-2px);box-shadow:0 5px 15px #12335c16}.opportunity-main{color:var(--t);display:block}.opportunity-main:hover h3{color:var(--b)}.opportunity-main>small{font-size:11px;line-height:1.5}.opportunity-card h3{margin:7px 0 12px;font-size:14px;line-height:1.6}.opportunity-main>strong{font-size:19px}.stage-control{margin-top:12px;font-size:11px;display:block}.stage-control select{margin-top:6px;padding:8px 10px;font-size:12px}.card-meta{color:#617186;gap:8px;margin:10px 0;font-size:11px;display:grid}.follow-date{color:#69809d;border-top:1px solid #eef2f6;padding-top:10px;font-size:11px}.overdue{color:#b73b3b!important}.kanban-empty{text-align:center;color:#8b9aab;padding:35px 8px;font-size:12px}.tabs{gap:8px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow:auto}.tabs button{color:#617186;border-color:var(--bd);white-space:nowrap;background:#fff;font-size:13px}.tabs button.active{background:var(--b);color:#fff;border-color:var(--b)}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-left:2px solid #dce6f4;margin-left:7px;padding:0 0 24px 24px;position:relative}.timeline li:before{content:"";background:#2368e7;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-6px;box-shadow:0 0 0 2px #c8dbfa}.timeline-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.timeline p{white-space:pre-wrap;font-size:13px;line-height:1.7}.mobile-menu,.nav-overlay{display:none}.muted-note{color:#72849c;font-size:12px;line-height:1.8}.task-actions{gap:6px;display:flex}.task-item{border-bottom:1px solid #edf1f6;align-items:center;gap:16px;padding:18px 0;display:flex}.task-content{flex:1;min-width:0}.task-content h3{margin:0 0 7px;font-size:15px}.task-content p{font-size:12px;line-height:1.6}.task-content.completed h3{color:#8290a2;text-decoration:line-through}@media (max-width:1200px){.shell{grid-template-columns:220px minmax(0,1fr)}.work{padding:0 20px 25px}.work header.page-header{margin:0 -20px 20px;padding:22px 20px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}.bar-row{grid-template-columns:130px 1fr 90px}.shell .brand{font-size:26px}}@media (max-width:760px){.shell{display:block}.shell>aside{z-index:40;width:246px;transition:left .2s;position:fixed;top:0;left:-270px}.shell>aside.nav-open{left:0}.shell aside nav a{font-size:14px}.mobile-menu{z-index:20;text-align:left;background:#06254f;border-radius:0;width:100%;padding:12px 20px;display:block;position:sticky;top:0}.nav-overlay{z-index:35;background:#071d3c88;border-radius:0;display:block;position:fixed;inset:0}.work{padding:0 16px 24px}.work header.page-header{flex-direction:column;align-items:stretch;gap:16px;margin:0 -16px 18px;padding:22px 16px}.page-header h1{font-size:24px}.page-header .actions{flex-wrap:wrap;justify-content:flex-start}.panel{border-radius:11px;padding:16px}.toolbar{gap:12px}.toolbar .search{width:100%;min-width:100%;max-width:none}.toolbar>label:not(.search){flex:1;min-width:0}.kpis{gap:10px}.kpi{padding:14px}.kpi strong{font-size:19px}.kpi small{font-size:11px}.detail-grid{grid-template-columns:1fr 1fr;gap:18px}.form-grid{grid-template-columns:1fr;gap:16px}.editor-head,.editor-body{padding:20px}.bar-row{grid-template-columns:100px 1fr 80px;gap:8px;font-size:11px}.section-heading{flex-wrap:wrap;align-items:flex-start}.pagination{flex-wrap:wrap}.task-item{flex-wrap:wrap;align-items:flex-start}.task-actions{margin-left:auto}.kanban-column{flex-basis:265px;width:265px}.timeline-top{flex-wrap:wrap;align-items:flex-start}input,select,textarea{font-size:16px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.dashboard-secondary{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.services-kpis{grid-template-columns:1fr 1fr}@media (max-width:1200px){.dashboard-secondary{grid-template-columns:1fr}}@media (max-width:760px){.shell>aside{visibility:hidden}.shell>aside.nav-open{visibility:visible}}
