:root{--bg:#07110f;--bg2:#0d1d19;--surface:#fff;--soft:#f5f7f6;--text:#121817;--muted:#66706d;--green:#2f9b66;--green2:#56bb82;--line:#dfe7e3;--radius:20px;--shadow:0 18px 60px rgba(7,17,15,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Tahoma","Arial",sans-serif;color:var(--text);background:#fff;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 36px));margin:auto}.section{padding:84px 0}.section-soft{background:var(--soft)}.eyebrow{color:var(--green);font-weight:800;font-size:.92rem}.section-title{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.25;margin:.35rem 0 1rem}.section-copy{color:var(--muted);max-width:720px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:13px 22px;border-radius:10px;border:1px solid transparent;font-weight:800;transition:.25s;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--green),var(--green2));color:white;box-shadow:0 10px 30px rgba(47,155,102,.25)}.btn-primary:hover{transform:translateY(-2px)}.btn-danger{background:#a93434;color:white}.btn-danger:hover{background:#8f2525}.btn-outline{border-color:rgba(255,255,255,.42);color:white}.btn-outline:hover{background:rgba(255,255,255,.08)}
.navbar{position:absolute;z-index:10;inset:0 0 auto;color:white}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo img{width:245px}.nav-links{display:flex;align-items:center;gap:26px;font-size:.95rem}.nav-links a{opacity:.85}.nav-links a:hover,.nav-links a.active{opacity:1;color:#7dd7a4}.nav-actions{display:flex;gap:10px;align-items:center}.nav-logout-form{margin:0}.nav-mobile-auth{display:none}.nav-link-button{border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer;opacity:.85}.nav-link-button:hover{opacity:1;color:#7dd7a4}.footer-logout-form{margin:0}.footer-logout-form button{border:0;background:transparent;color:#8fa19b;font:inherit;padding:0;cursor:pointer}.footer-logout-form button:hover{color:#d1dcda}.menu-btn{display:none;background:none;border:0;color:white;font-size:1.6rem}
.hero{min-height:720px;color:white;background:radial-gradient(circle at 20% 20%,rgba(47,155,102,.18),transparent 30%),linear-gradient(115deg,#07110f 0%,#091816 52%,#0c2320 100%);position:relative;overflow:hidden;padding-top:120px}.hero:after{content:"";position:absolute;inset:auto -10% -30% auto;width:620px;height:620px;border:1px solid rgba(86,187,130,.13);border-radius:50%}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:70px;min-height:570px}.hero h1{font-size:clamp(2.25rem,4.2vw,4.35rem);line-height:1.16;margin:0 0 20px}.hero h1 span{color:var(--green2)}.hero p{font-size:1.05rem;color:#c7d3cf;max-width:650px}.hero-actions{display:flex;gap:12px;margin-top:28px}.trust{margin-top:42px;color:#8fa19b;font-size:.85rem}.trust-row{display:flex;gap:28px;flex-wrap:wrap;margin-top:12px;font-weight:800;color:#d1dbd7}.dashboard-mock{background:#0b1614;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:18px;box-shadow:0 35px 90px rgba(0,0,0,.45);transform:perspective(900px) rotateY(6deg) rotateX(2deg)}.mock-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dots{display:flex;gap:6px}.dots i{width:8px;height:8px;background:#49605a;border-radius:50%}.mock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric,.chart,.activity{background:#10221e;border:1px solid rgba(255,255,255,.06);border-radius:13px;padding:15px}.metric b{display:block;font-size:1.5rem;color:#72d39b}.metric small{color:#8da099}.chart{grid-column:span 2;min-height:210px;position:relative;overflow:hidden}.chart:before{content:"";position:absolute;inset:35px 15px 30px;background:linear-gradient(180deg,rgba(86,187,130,.3),transparent);clip-path:polygon(0 80%,12% 66%,23% 73%,35% 38%,46% 51%,58% 24%,69% 43%,82% 15%,100% 30%,100% 100%,0 100%)}.chart:after{content:"";position:absolute;inset:35px 15px 30px;border-bottom:1px solid #315047;border-left:1px solid #315047}.activity{min-height:210px}.activity-row{height:8px;background:#203b34;border-radius:8px;margin:17px 0}.activity-row:nth-child(2){width:75%}.activity-row:nth-child(3){width:55%}.activity-row:nth-child(4){width:86%}
.challenge-strip{margin-top:-38px;position:relative;z-index:3}.challenge-box{background:white;border-radius:20px;padding:28px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.1fr 2.9fr;gap:28px;align-items:center}.challenge-title h2{margin:0;font-size:1.8rem}.challenge-title span{color:var(--green)}.challenge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.challenge{padding:18px;border:1px solid var(--line);border-radius:15px;background:#fbfcfb;font-size:.9rem}.challenge .icon{font-size:1.35rem;color:var(--green);margin-bottom:8px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:.25s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#b9d8c8}.card-icon{width:52px;height:52px;border-radius:14px;background:#e8f5ee;color:var(--green);display:grid;place-items:center;font-size:1.5rem}.card h3{margin:18px 0 8px}.card p{color:var(--muted);margin:0}.more{display:inline-block;color:var(--green);font-weight:800;margin-top:18px}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}.step{position:relative;padding:25px;border-top:2px solid #bfdbcd}.step-num{width:42px;height:42px;border:2px solid var(--green);border-radius:50%;display:grid;place-items:center;background:white;color:var(--green);font-weight:900;margin-top:-47px}.step h3{margin-top:20px}.step p{color:var(--muted)}
.projects{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;margin-top:34px}.project-main,.project-side{border-radius:22px;overflow:hidden;position:relative;min-height:410px;background:#0d1d19;color:white}.project-main{background:linear-gradient(135deg,rgba(6,17,15,.45),rgba(6,17,15,.92)),url('../images/design-reference.png') center/cover}.project-content{position:absolute;inset:auto 30px 28px}.project-content h3{font-size:2rem;margin:8px 0}.project-tag{color:#75d39d;font-weight:800}.stats{display:grid;grid-template-columns:repeat(2,1fr);height:100%}.stat{padding:35px;border:1px solid rgba(255,255,255,.09);display:flex;flex-direction:column;justify-content:center}.stat b{font-size:2.3rem;color:var(--green2)}
.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.article{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:white}.article-cover{height:180px;background:linear-gradient(135deg,#0b1f1a,#2d7253);display:flex;align-items:end;padding:20px;color:white;font-size:2rem}.article-body{padding:22px}.article-meta{color:var(--green);font-size:.82rem;font-weight:800}.article h3{line-height:1.45}.article p{color:var(--muted)}
.cta{background:linear-gradient(110deg,rgba(7,17,15,.94),rgba(11,45,35,.88)),url('../images/design-reference.png') center 70%/cover;color:white;padding:65px 0}.cta-wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{font-size:clamp(2rem,4vw,3.5rem);margin:0}.cta p{color:#c9d8d2}
.footer{background:#06100e;color:#d1dcda;padding:58px 0 24px}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:34px}.footer-logo{width:230px}.footer p,.footer a{color:#8fa19b}.footer h4{color:white}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:8px 0}.social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.social-links a{width:38px;height:38px;border:1px solid #1c2c28;border-radius:10px;display:grid;place-items:center;color:#d1dcda;background:#0b1a16;transition:.2s}.social-links a:hover{border-color:#65c58f;color:white;background:#123126}.social-links svg{width:18px;height:18px;fill:currentColor}.copyright{border-top:1px solid #1c2c28;margin-top:36px;padding-top:20px;color:#70827c;font-size:.85rem}
.page-hero{padding:160px 0 90px;background:linear-gradient(115deg,#07110f,#0b2820);color:white}.page-hero h1{font-size:clamp(2.4rem,5vw,4.6rem);margin:0}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:30px}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field input,.field textarea,.field select{font:inherit;padding:13px;border:1px solid #ccd8d3;border-radius:10px;background:white}.field textarea{min-height:140px}
.admin-body{background:#eef2f0;min-height:100vh}.admin-shell{display:grid;grid-template-columns:310px 1fr;min-height:100vh}.admin-mobile-bar,.admin-menu-backdrop{display:none}.sidebar{background:#050917;color:white;padding:34px 26px;overflow:auto}.sidebar img{width:210px;margin-bottom:34px}.side-group{display:block;color:#75819a;font-size:.78rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;margin:30px 0 12px}.side-link{display:block;padding:11px 0;border-radius:10px;color:#cbd3e1;margin:6px 0;font-size:1.08rem}.side-button{width:100%;border:0;background:transparent;text-align:inherit;font:inherit;cursor:pointer}.side-link.active,.side-link:hover{color:white}.auth-panel{max-width:620px;margin:auto}.inline-check{display:flex;align-items:center;gap:8px}.admin-main{padding:30px}.admin-top{display:flex;justify-content:space-between;align-items:center}.admin-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:26px 0}.admin-card{background:white;border-radius:16px;padding:22px;box-shadow:0 8px 30px rgba(7,17,15,.06)}.admin-card b{font-size:2rem;color:var(--green)}.admin-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.chat-thread{display:grid;gap:12px;margin:16px 0}.chat-message{border:1px solid var(--line);border-radius:14px;padding:14px;background:#f8faf9}.chat-message.assistant{background:#edf8f2;border-color:#c7e8d6}.chat-message p{white-space:pre-wrap;margin:.6rem 0 0}.table{width:100%;min-width:920px;border-collapse:collapse}.table th,.table td{text-align:right;padding:22px 20px;border-bottom:1px solid #e5e7eb;vertical-align:middle;white-space:nowrap}.table th{color:#3f4250;font-size:.92rem;font-weight:900}.table td{color:#a5abb3;font-weight:700}.table tbody tr:hover{background:#fbfcfd}html[dir="ltr"] .table th,html[dir="ltr"] .table td{text-align:left}.dss-table-shell{background:white;border-radius:4px;padding:28px 28px 22px;margin-top:18px;overflow-x:auto;box-shadow:0 8px 30px rgba(7,17,15,.04);scrollbar-color:#cfd5dc #f3f5f7;scrollbar-width:thin}.dss-table-shell::-webkit-scrollbar{height:11px}.dss-table-shell::-webkit-scrollbar-track{background:#f3f5f7;border-radius:999px}.dss-table-shell::-webkit-scrollbar-thumb{background:#cfd5dc;border-radius:999px}.dss-table-toolbar,.dss-table-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:920px}.dss-table-toolbar{margin-bottom:24px}.dss-table-toolbar label{display:flex;align-items:center;gap:8px;color:#2f3138;font-weight:700}.dss-table-toolbar select,.dss-table-toolbar input{font:inherit;border:1px solid #bcc3ce;border-radius:6px;background:white;color:#514b52;padding:9px 12px}.dss-table-toolbar select{min-width:82px}.dss-table-toolbar input{width:min(360px,34vw)}.dss-table-footer{padding-top:26px;color:#2f3138;font-weight:700}.dss-table-pages{display:flex;align-items:center;gap:8px}.dss-table-pages button{border:0;background:transparent;color:#2f3138;font:inherit;font-weight:700;min-width:38px;height:38px;border-radius:999px;cursor:pointer}.dss-table-pages button.active{background:#eee7ff;color:#6c4df6}.dss-table-pages button:disabled{opacity:.45;cursor:not-allowed}.table thead th{position:relative;cursor:pointer}.table thead th::after{content:'↕';position:absolute;inset-inline-end:14px;color:#d7d9dd;font-size:.78rem}.table thead th[data-sort="asc"]::after{content:'▲';color:#6c63ff}.table thead th[data-sort="desc"]::after{content:'▼';color:#6c63ff}.badge{padding:5px 9px;border-radius:999px;background:#e6f5ed;color:#24774d;font-size:.78rem;font-weight:800}
.dashboard-page{display:grid;gap:18px}.dashboard-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;background:#07110f;color:white;border-radius:18px;padding:28px;box-shadow:0 12px 34px rgba(7,17,15,.16)}.dashboard-hero h1{font-size:clamp(2rem,3vw,3.25rem);line-height:1.15;margin:.25rem 0 .7rem}.dashboard-hero p{max-width:760px;color:#c5d3cf;margin:0}.dashboard-hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dashboard-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.dashboard-status-card{border:1px solid #d8e6df}.dashboard-status-card span,.dashboard-status-card small{display:block;color:var(--muted);font-weight:800}.dashboard-status-card strong{display:block;font-size:1.7rem;margin:6px 0;color:var(--green)}.dashboard-section{display:grid;gap:18px}.dashboard-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.dashboard-section-head h2{margin:.25rem 0 0}.dashboard-command-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.dashboard-command{display:grid;gap:10px;min-height:160px;border:1px solid var(--line);border-radius:14px;padding:18px;background:#fbfdfc}.dashboard-command:hover{border-color:#a8d9be;box-shadow:0 14px 32px rgba(47,155,102,.12)}.dashboard-command span,.dashboard-command-list strong,.dashboard-module-grid strong{font-weight:900}.dashboard-command p,.dashboard-command-list small,.dashboard-module-grid small{color:var(--muted);margin:0}.dashboard-command strong{align-self:end;font-size:1.7rem;color:var(--green)}.primary-command{background:linear-gradient(180deg,#fbfffd,#f1faf5)}.dashboard-action-row{display:flex;gap:10px;flex-wrap:wrap}.dashboard-action-row form{margin:0}.dashboard-two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard-command-list{display:grid;gap:10px}.dashboard-command-list a{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:14px;background:#fbfdfc}.dashboard-command-list span,.dashboard-command-list small{display:block}.dashboard-command-list b{font-size:1.2rem;color:var(--green)}.dashboard-money-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.dashboard-money-grid p{border:1px solid var(--line);border-radius:14px;padding:16px;margin:0;background:#fbfdfc}.dashboard-money-grid span,.dashboard-money-grid strong{display:block}.dashboard-money-grid span{color:var(--muted);font-weight:800}.dashboard-money-grid strong{font-size:1.35rem;margin-top:6px}.dashboard-module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dashboard-module-grid a{position:relative;display:grid;gap:7px;min-height:130px;border:1px solid var(--line);border-radius:14px;padding:16px;background:#fbfdfc}.dashboard-module-grid b{position:absolute;inset:12px auto auto 12px;font-size:.95rem}.dashboard-module-grid a:hover{border-color:#a8d9be;box-shadow:0 14px 32px rgba(47,155,102,.1)}html[dir="ltr"] .dashboard-module-grid b{inset:12px 12px auto auto}
.client-portal-page{background:#f4f7f5}.client-portal-hero{padding-bottom:76px}.client-flash{padding:24px 0 0}.client-portal-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;align-items:start}.client-sidebar{position:sticky;top:18px;display:grid;gap:14px}.client-sidebar h2{font-size:1.45rem;line-height:1.35;margin:.2rem 0}.client-portal-nav{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:14px}.client-portal-nav a{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fbfdfc;font-weight:800}.client-portal-nav a:hover,.client-portal-nav a.active{border-color:#70c99a;color:var(--green);background:#f2fff7}.client-portal-main{display:grid;gap:18px}.client-section{display:grid;gap:18px}.client-section[hidden]{display:none}.client-section h2{margin:.25rem 0}.client-stage-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.client-stage{border:1px solid var(--line);border-radius:13px;padding:13px;background:#fbfdfc;min-height:98px}.client-stage strong,.client-stage span{display:block}.client-stage span{color:var(--muted);font-weight:800;margin-top:6px}.client-stage.done{border-color:#9ed5b7;background:#f4fff8}.preview-console{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px}.preview-terminal{background:#06100e;color:#d7e5df;border-radius:16px;padding:18px;min-height:310px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.preview-terminal span{display:block;color:#71d39b;font-weight:900;margin-bottom:14px}.preview-terminal p{margin:9px 0;color:#bdd2ca}.preview-frame{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white;min-height:310px}.preview-frame iframe{width:100%;height:420px;border:0;background:white}.preview-empty{height:100%;min-height:310px;display:grid;place-content:center;text-align:center;padding:24px}.preview-empty p{color:var(--muted);max-width:420px}.client-form{display:grid;gap:16px}.client-form textarea{min-height:120px}.client-mini-cards{grid-template-columns:repeat(2,1fr);margin-top:0}.client-mini-cards .card{min-height:170px}.requirement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.requirement-card{border:1px solid var(--line);border-radius:14px;background:#fbfdfc;padding:16px;display:grid;gap:8px}.requirement-card h3{margin:0}.requirement-card label{font-weight:800}.requirement-card input{font:inherit;border:1px solid #ccd8d3;border-radius:10px;padding:10px;background:white}.requirement-card small{color:var(--muted);font-weight:800}
.plain-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}.plain-list li{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfdfc;color:var(--muted)}
.request-page{display:grid;gap:20px}.request-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;background:white;border-radius:18px;padding:28px;box-shadow:0 8px 30px rgba(7,17,15,.06)}.request-hero h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.15;margin:.2rem 0}.request-hero p{color:var(--muted);margin:0}.request-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.workflow-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.workflow-step{background:white;border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;align-items:center;gap:10px;color:var(--muted)}.workflow-step span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#edf1ef;font-weight:900}.workflow-step.done{border-color:#b7dfc8;color:var(--text);background:#f8fffb}.workflow-step.done span{background:#dff5e8;color:#24774d}.request-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-card{background:white;border-radius:16px;padding:18px;border:1px solid var(--line)}.metric-card span{display:block;color:var(--muted);font-weight:800;font-size:.82rem}.metric-card strong{display:block;font-size:1.25rem;margin-top:8px}.request-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}.request-main,.request-side{display:grid;gap:20px}.request-side{position:sticky;top:20px}.request-section h2{margin-top:0}.section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.empty-state{border:1px dashed #bfd4cc;border-radius:14px;padding:22px;background:#fbfdfc}.proposal-panel{border:1px solid var(--line);border-radius:16px;padding:20px;margin-top:18px;background:#fbfdfc}.proposal-head{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.proposal-head h3{margin:0}.proposal-head p{margin:4px 0 0;color:var(--muted)}.proposal-head strong{font-size:1.3rem;color:var(--green)}.proposal-copy{display:grid;grid-template-columns:1fr 1fr;gap:16px}.proposal-copy p,.brief-grid p{white-space:pre-wrap;color:var(--muted)}.proposal-form{display:grid;gap:14px;margin-top:16px}.proposal-form label,.stack-form label{display:flex;flex-direction:column;gap:7px;font-weight:800}.proposal-form textarea,.proposal-form input,.stack-form textarea,.stack-form input,.stack-form select{font:inherit;padding:12px;border:1px solid #ccd8d3;border-radius:10px;background:white}.proposal-form textarea{min-height:110px}.proposal-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.brief-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.brief-grid article{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fbfdfc}.brief-grid span{display:block;color:var(--green);font-weight:900;text-transform:capitalize}.stack-form{display:grid;gap:12px}.team-list{display:grid;gap:10px;margin-top:18px}.team-list article{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfdfc}.team-list strong,.team-list span{display:block}.team-list span{color:var(--muted);font-size:.9rem}.team-list p{margin:.5rem 0 0;color:var(--muted)}
.invoice-page{display:grid;gap:18px}.invoice-create-form{display:grid;gap:16px}.invoice-fields{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;align-items:end}.invoice-fields label,.invoice-update-form{display:flex;flex-direction:column;gap:7px;font-weight:800}.invoice-fields input,.invoice-fields select,.invoice-update-form input,.invoice-update-form select{font:inherit;padding:12px;border:1px solid #ccd8d3;border-radius:10px;background:white}.invoice-table-card{overflow:auto}.invoice-update-form{display:grid;grid-template-columns:1.1fr 1.1fr 1fr auto;min-width:420px;align-items:end}.invoice-update-form button{white-space:nowrap}
.role-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.role-overview-item{display:block;background:white;border:1px solid var(--line);border-radius:14px;padding:15px;color:var(--text);text-decoration:none}.role-overview-item.active{border-color:#70c99a;box-shadow:0 12px 28px rgba(44,143,91,.14)}.role-overview-item span,.role-overview-item small{display:block;color:var(--muted)}.role-overview-item strong{display:block;margin:6px 0;font-size:1.05rem}.roles-layout{display:grid;gap:18px}.role-card{scroll-margin-top:24px}.role-card h2{margin:.2rem 0}.role-card p{color:var(--muted);margin:.35rem 0}.role-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.role-card-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.role-note{border:1px solid var(--line);border-radius:12px;background:#fbfdfc;padding:12px 14px}.role-permission-form{display:grid;gap:18px}.permission-modules{display:grid;gap:16px}.permission-group{border-top:1px solid var(--line);padding-top:16px}.permission-group-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.permission-group h3{margin:0}.permission-group-head span{color:var(--muted);font-weight:800}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.permission-option{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;background:#fbfdfc;padding:13px;min-height:92px}.permission-option input{margin-top:5px}.permission-option strong,.permission-option small{display:block}.permission-option small{color:var(--muted);line-height:1.45;margin-top:3px}.role-actions{display:flex;justify-content:flex-end}.role-employees{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.role-employees .table-wrap{background:#fbfdfc;border:1px solid var(--line);border-radius:14px}
.employee-form{display:grid;gap:18px}.form-section-title{border-top:1px solid var(--line);padding-top:16px}.form-section-title:first-child{border-top:0;padding-top:0}.form-section-title h2{margin:0}.form-section-title p{color:var(--muted);margin:.3rem 0 0}.settings-tools{margin-top:18px}.settings-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.settings-tool{border:1px solid var(--line);border-radius:14px;background:#fbfdfc;padding:18px;display:grid;gap:12px}.settings-tool h3{margin:0}.settings-tool p{color:var(--muted);margin:0}.settings-tool-danger{border-color:#e0bbbb;background:#fffafa}.inline-status-form{display:flex;gap:8px;align-items:center}.inline-manage-form{display:grid;grid-template-columns:1fr 150px 120px auto;gap:8px;min-width:720px;align-items:start}.inline-manage-form textarea{grid-column:1/4;min-height:64px}.inline-status-form select,.inline-manage-form input,.inline-manage-form select,.inline-manage-form textarea{font:inherit;border:1px solid #ccd8d3;border-radius:10px;padding:10px;background:white}
.progress-track{width:150px;max-width:100%;height:10px;border-radius:999px;background:#e8efec;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--green2))}
.client-command-card{overflow:auto}.client-command-table{min-width:1180px}.client-command-table td{vertical-align:top}.client-command-table strong,.client-command-table small,.client-action-stack a,.client-mini-metrics span{display:block}.client-command-table small{color:var(--muted);font-weight:800;line-height:1.55;margin-top:4px}.client-command-table .badge{display:inline-block;margin:5px 4px 5px 0}html[dir="rtl"] .client-command-table .badge{margin:5px 0 5px 4px}.mini-link{color:var(--green);font-weight:900;text-decoration:none}.client-mini-metrics{display:grid;gap:6px;min-width:150px}.client-mini-metrics span{background:#f6faf8;border:1px solid var(--line);border-radius:10px;padding:7px 9px;color:var(--muted);font-weight:800}.client-mini-metrics strong{display:inline;color:var(--text)}.client-action-stack{display:grid;gap:8px;min-width:150px}.client-action-stack .btn{width:100%;text-align:center}
.live-preview-admin{margin-top:18px}.live-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.live-preview-card{border:1px solid var(--line);border-radius:14px;background:#fbfdfc;padding:18px;display:grid;gap:16px}.live-preview-card small{display:block;color:var(--muted);font-weight:800;margin-top:5px}.preview-test-report{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:14px}.preview-test-report h4{margin:0}.preview-check{border:1px solid var(--line);border-radius:12px;background:white;padding:11px;display:grid;gap:4px}.preview-check strong,.preview-check span,.preview-check small{display:block}.preview-check span{font-weight:900}.preview-check.passed{border-color:#9ed5b7;background:#f4fff8}.preview-check.failed{border-color:#e2b8b8;background:#fff7f7}.preview-check.failed span{color:#9c2626}.preview-check.skipped{background:#f6f7f7}.preview-notice{border-color:#9ed5b7;background:#f4fff8}.preview-notice h2{margin:.25rem 0}
.preview-command{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:18px;margin-bottom:18px}.preview-command-main h2{font-size:1.9rem;margin:.2rem 0}.preview-command-main p{color:var(--muted);max-width:780px}.preview-status-row,.preview-command-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.preview-command-actions{margin-top:10px}.preview-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.preview-meta-list{display:grid;gap:10px;margin:14px 0 0}.preview-meta-list div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;border-top:1px solid var(--line);padding-top:10px}.preview-meta-list dt{font-weight:900;color:var(--muted)}.preview-meta-list dd{margin:0;font-weight:800;overflow-wrap:anywhere}.preview-meta-card h3{margin:.2rem 0}.preview-package-info{max-height:220px;overflow:auto;background:#07110f;color:#e8f8ef;border-radius:12px;padding:14px;white-space:pre-wrap;line-height:1.55}
.admin-live-preview-panel{margin-bottom:18px}.admin-preview-frame{border:1px solid var(--line);border-radius:14px;background:#fbfdfc;min-height:460px;overflow:hidden}.admin-preview-frame iframe{width:100%;height:560px;border:0;background:white}.ticket-panel{align-self:start}.ticket-list{display:grid;gap:12px;margin-top:12px}.ticket-item{border:1px solid var(--line);border-radius:13px;background:#fbfdfc;padding:14px;display:grid;gap:8px}.ticket-item strong{font-size:1.02rem}.ticket-item p{white-space:pre-wrap;color:var(--muted);margin:0}.ticket-item .inline-status-form{margin-top:4px}
@media(max-width:950px){.nav-links{display:none;position:absolute;top:76px;right:18px;left:18px;background:#0a1815;padding:20px;border-radius:14px;flex-direction:column}.nav-links.open{display:flex}.nav-mobile-auth{display:block}.menu-btn{display:block}.nav-actions .btn{display:none}.hero-grid,.challenge-box,.projects,.content-grid,.admin-grid,.request-layout,.proposal-copy,.invoice-fields,.permission-grid,.dashboard-two-column,.client-portal-grid,.preview-console,.requirement-grid,.live-preview-grid,.preview-command,.preview-info-grid{grid-template-columns:1fr}.dashboard-mock{transform:none}.challenge-grid,.cards,.articles,.process,.admin-cards,.request-summary-grid,.role-overview,.dashboard-status-grid,.dashboard-command-grid,.dashboard-module-grid,.client-stage-strip{grid-template-columns:repeat(2,1fr)}.workflow-strip{grid-template-columns:1fr 1fr}.request-side,.client-sidebar{position:static}.footer-grid{grid-template-columns:repeat(2,1fr)}.admin-shell{display:block;min-height:100vh}.admin-mobile-bar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#050917;color:white;padding:12px 18px;box-shadow:0 8px 24px rgba(5,9,23,.18)}.admin-mobile-bar img{width:172px}.admin-menu-toggle{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:white;border-radius:10px;padding:10px 14px;font:inherit;font-weight:900;cursor:pointer}.admin-menu-backdrop{position:fixed;inset:0;z-index:45;background:rgba(2,6,15,.52);border:0}.sidebar{position:fixed;inset:0 auto 0 0;z-index:50;display:block;width:min(86vw,340px);transform:translateX(-104%);transition:transform .25s ease;box-shadow:16px 0 40px rgba(0,0,0,.28)}html[dir="rtl"] .sidebar{inset:0 0 0 auto;transform:translateX(104%)}.admin-nav-open .sidebar{transform:translateX(0)}.admin-nav-open .admin-menu-backdrop{display:block}.admin-main{padding:22px 18px}.hero{padding-top:100px}.hero-grid{padding:65px 0}.challenge-strip{margin-top:20px}.dashboard-hero{display:grid}.dashboard-hero-actions{align-items:stretch}}
@media(max-width:620px){.container{width:min(100% - 24px,1180px)}.logo img{width:190px}.hero h1{font-size:2.2rem}.hero-actions,.cta-wrap,.request-hero,.request-actions{align-items:stretch;flex-direction:column}.challenge-grid,.cards,.articles,.process,.admin-cards,.form-grid,.footer-grid,.request-summary-grid,.workflow-strip,.brief-grid,.proposal-fields,.role-overview,.settings-tool-grid,.dashboard-status-grid,.dashboard-command-grid,.dashboard-module-grid,.dashboard-money-grid,.client-stage-strip,.client-mini-cards{grid-template-columns:1fr}.mock-grid{grid-template-columns:1fr}.chart{grid-column:auto}.section{padding:60px 0}.challenge-box{padding:20px}.stats{grid-template-columns:1fr 1fr}.nav-wrap{height:72px}.role-card-head,.permission-group-head,.dashboard-section-head,.section-head{display:grid}.role-card-meta,.role-actions{justify-content:flex-start}.dashboard-action-row .btn,.dashboard-hero-actions .btn{width:100%}.dashboard-action-row form{width:100%}.preview-frame iframe{height:320px}.client-sidebar{padding:18px}}

/* Vuexy-inspired admin foundation. Replace with licensed Vuexy assets later if provided. */
.admin-body{--vx-bg:#f8f7fa;--vx-card:#fff;--vx-text:#2f2b3d;--vx-muted:#6f6b7d;--vx-line:#dbdade;--vx-primary:#2f9b66;--vx-primary-soft:#e8f5ee;--vx-radius:10px;--vx-shadow:0 .25rem 1.125rem rgba(47,43,61,.08);background:var(--vx-bg);color:var(--vx-text)}
.admin-shell{grid-template-columns:286px minmax(0,1fr);background:var(--vx-bg)}
.sidebar{position:sticky;top:0;height:100vh;background:#fff;color:var(--vx-text);padding:18px 14px;border-inline-end:1px solid rgba(47,43,61,.08);box-shadow:0 .125rem .375rem rgba(47,43,61,.05)}
.side-brand{display:flex;align-items:center;gap:10px;padding:8px 10px 18px;margin-bottom:8px;color:var(--vx-text);font-weight:900}
.side-brand img{width:172px;margin:0}.side-brand span{display:none}
.sidebar>img{display:none}
.side-group{color:#a8a5b5;font-size:.72rem;letter-spacing:.08em;margin:22px 12px 8px}
.side-link{display:flex;align-items:center;gap:10px;color:#5d596c;padding:10px 13px;border-radius:8px;margin:3px 0;font-size:.94rem;font-weight:700;line-height:1.25}
.side-link::before{content:attr(data-icon);width:22px;height:22px;display:grid;place-items:center;color:#8d89a0;font-weight:900}
.side-link:hover{background:#f6f6f8;color:var(--vx-text)}
.side-link.active{background:linear-gradient(90deg,#2f9b66,#56bb82);color:#fff;box-shadow:0 .125rem .375rem rgba(47,155,102,.28)}
.side-link.active::before{color:#fff}.side-button{color:inherit;text-align:inherit}
.admin-main{padding:24px;min-width:0}
.admin-navbar{position:sticky;top:16px;z-index:30;display:flex;align-items:center;gap:16px;margin-bottom:24px;background:rgba(255,255,255,.92);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);padding:12px 16px;backdrop-filter:blur(10px)}
.admin-menu-toggle-inline{display:none;border:0;background:#edf8f2;color:var(--vx-primary);border-radius:8px;padding:9px 12px;font:inherit;font-weight:800;cursor:pointer}
.admin-search{display:flex;align-items:center;gap:10px;min-width:260px;flex:1;color:#8d89a0}
.admin-search input{width:100%;border:0;background:transparent;font:inherit;color:var(--vx-text);outline:0}
.admin-navbar-actions{display:flex;align-items:center;gap:10px}
.admin-icon-button{width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:#5d596c;font:inherit;font-weight:900;cursor:pointer}
.admin-icon-button:hover{background:#edf5f1;color:var(--vx-primary)}
.admin-user-pill{display:flex;align-items:center;gap:9px;padding:5px 10px 5px 5px;border:1px solid #eeeef2;border-radius:999px;color:#5d596c;font-weight:800;background:#fff}
.admin-user-pill b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--vx-primary);color:#fff}
html[dir="rtl"] .admin-user-pill{padding:5px 5px 5px 10px}
.admin-top{margin-bottom:18px}.admin-top h1{font-size:1.625rem;letter-spacing:0;color:var(--vx-text);margin:.2rem 0}.admin-top p{color:var(--vx-muted)}
.admin-card,.panel,.request-hero,.metric-card,.role-overview-item,.dashboard-hero,.dss-table-shell{border:0;border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);background:var(--vx-card)}
.admin-card{padding:24px}.admin-card b,.dashboard-status-card strong,.dashboard-command strong,.dashboard-money-grid strong{color:var(--vx-primary)}
.badge{background:var(--vx-primary-soft);color:var(--vx-primary);border-radius:6px;font-size:.78rem}
.btn{border-radius:6px;padding:10px 18px;box-shadow:none}.btn-primary{background:var(--vx-primary);box-shadow:0 .125rem .375rem rgba(47,155,102,.28)}.btn-primary:hover{background:#287f56;transform:none}.btn-outline{border-color:#dbdade;color:var(--vx-text);background:#fff}
.stack-form textarea,.stack-form input,.stack-form select,.proposal-form textarea,.proposal-form input,.invoice-fields input,.invoice-fields select,.field input,.field textarea,.field select{border-color:var(--vx-line);border-radius:6px;color:var(--vx-text)}
.dss-table-shell{border-radius:var(--vx-radius);padding:24px;box-shadow:var(--vx-shadow)}
.table{min-width:980px}.table th{color:#5d596c;font-size:.83rem;text-transform:none}.table td{color:#6f6b7d;font-weight:600}.table th,.table td{padding:17px 20px;border-bottom:1px solid #f0eff2}.table tbody tr:hover{background:#fafafa}
.dss-table-toolbar label,.dss-table-footer{color:#5d596c;font-size:.94rem}.dss-table-toolbar select,.dss-table-toolbar input{border-color:var(--vx-line);border-radius:6px;color:#5d596c}.dss-table-pages button.active{background:var(--vx-primary);color:#fff;box-shadow:0 .125rem .375rem rgba(47,155,102,.28)}
.dashboard-hero{background:#fff;color:var(--vx-text)}.dashboard-hero p{color:var(--vx-muted)}
.dashboard-command,.dashboard-command-list a,.dashboard-money-grid p,.dashboard-module-grid a,.client-mini-metrics span,.ticket-item,.live-preview-card,.preview-check{border-color:#f0eff2;background:#fff}
.dashboard-command:hover,.dashboard-module-grid a:hover{border-color:#b9d8c8;box-shadow:0 .25rem 1rem rgba(47,155,102,.12)}
@media(max-width:950px){.admin-shell{display:block}.admin-mobile-bar{background:#fff;color:var(--vx-text);box-shadow:var(--vx-shadow)}.admin-mobile-bar img{width:170px}.admin-menu-toggle,.admin-menu-toggle-inline{display:inline-flex;align-items:center;justify-content:center}.sidebar{position:fixed;background:#fff;color:var(--vx-text);box-shadow:0 .5rem 1.5rem rgba(47,43,61,.18)}.admin-main{padding:18px}.admin-navbar{top:10px}.admin-search{min-width:0}.admin-user-pill span{display:none}}

/* Vuexy-inspired authentication pages. */
.auth-layout-body{background:#f8f7fa;min-height:100vh;color:#2f2b3d}.auth-layout-body .navbar,.auth-layout-body .footer{display:none}
.auth-page{--auth-primary:#2f9b66;--auth-soft:#e8f5ee;--auth-text:#2f2b3d;--auth-muted:#6f6b7d;--auth-line:#dbdade;min-height:100vh;background:#f8f7fa;color:var(--auth-text)}
.auth-basic-shell{min-height:100vh;display:grid;place-items:center;padding:32px;position:relative}
.auth-brand{position:absolute;inset:28px auto auto 32px;display:block}.auth-brand img{width:220px;filter:none}
html[dir="rtl"] .auth-brand{inset:28px 32px auto auto}
.auth-card{width:min(100%,460px);background:#fff;border-radius:10px;padding:34px;box-shadow:0 .25rem 1.125rem rgba(47,43,61,.08)}
.auth-card-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--auth-soft);color:var(--auth-primary);font-size:1.3rem;font-weight:900;margin-bottom:18px}
.auth-card h1{font-size:1.625rem;line-height:1.25;margin:0 0 8px;color:var(--auth-text)}
.auth-card p{color:var(--auth-muted);margin:0 0 22px}.auth-form{display:grid;gap:16px}.auth-form label{display:grid;gap:7px;font-weight:700;color:#5d596c}
.auth-form input{font:inherit;border:1px solid var(--auth-line);border-radius:6px;padding:11px 13px;background:white;color:var(--auth-text);outline:0}.auth-form input:focus{border-color:var(--auth-primary);box-shadow:0 0 0 .18rem rgba(47,155,102,.14)}
.auth-form small{color:#d14141;font-weight:700}.auth-form-row{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#5d596c}
.auth-form-row a,.auth-switch a{color:var(--auth-primary);font-weight:800}.auth-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px;font-weight:600!important}.auth-check input{width:16px;height:16px;padding:0;accent-color:var(--auth-primary)}
.auth-submit{width:100%;background:var(--auth-primary);border-color:var(--auth-primary);box-shadow:0 .125rem .375rem rgba(47,155,102,.28)}
.auth-switch{text-align:center;margin:22px 0 0!important}
.auth-cover-page{display:grid;grid-template-columns:minmax(0,1fr) 560px;min-height:100vh}
.auth-cover-visual{position:relative;display:grid;place-items:center;padding:48px;background:radial-gradient(circle at 24% 18%,rgba(47,155,102,.20),transparent 28%),linear-gradient(135deg,#eef8f3,#e8f5ee)}
.auth-brand-cover{position:absolute}.auth-visual-card{width:min(620px,100%);border-radius:18px;padding:34px;background:rgba(255,255,255,.68);box-shadow:0 1rem 3rem rgba(47,43,61,.09);backdrop-filter:blur(14px)}
.auth-visual-card span{color:var(--auth-primary);font-weight:900}.auth-visual-card h1{font-size:clamp(2rem,4vw,4rem);line-height:1.08;margin:12px 0;color:var(--auth-text)}.auth-visual-card p{color:var(--auth-muted);font-size:1.05rem;max-width:560px}
.auth-visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.auth-visual-grid b{border:1px solid rgba(47,155,102,.18);border-radius:12px;padding:14px;background:#fff;color:var(--auth-primary)}
.auth-cover-form{display:grid;place-items:center;padding:36px;background:#fff}.auth-card-wide{width:min(100%,520px);box-shadow:none;padding:0}.auth-card-wide p{margin-bottom:20px}
.auth-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.auth-terms{color:#5d596c}.auth-verify-card{text-align:center}.auth-verify-card .auth-card-icon{margin-inline:auto}.auth-verify-actions{justify-content:center;margin-top:16px}
html[dir="rtl"] .auth-form-row{direction:rtl}
@media(max-width:980px){.auth-cover-page{grid-template-columns:1fr}.auth-cover-visual{min-height:360px}.auth-cover-form{padding:34px 22px}.auth-card-wide{width:min(100%,620px)}}
@media(max-width:620px){.auth-basic-shell{padding:92px 18px 28px}.auth-brand{inset:22px auto auto 18px}.auth-brand img{width:190px}html[dir="rtl"] .auth-brand{inset:22px 18px auto auto}.auth-card{padding:26px}.auth-form-grid,.auth-visual-grid{grid-template-columns:1fr}.auth-cover-visual{padding:92px 18px 28px}.auth-form-row{align-items:flex-start;flex-direction:column}.auth-verify-actions{align-items:center}}

/* Vuexy eCommerce-inspired dashboard. */
.ecommerce-dashboard{gap:24px}.ecom-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr);gap:24px}
.ecom-welcome-card{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:210px;overflow:hidden}.ecom-welcome-card h1{font-size:2rem;line-height:1.15;margin:.35rem 0 .75rem;color:#2f2b3d}.ecom-welcome-card p{max-width:660px;color:#6f6b7d;margin:0 0 18px}
.ecom-hero-illustration{min-width:170px;min-height:150px;border-radius:18px;background:linear-gradient(135deg,#e8f5ee,#fff);display:grid;place-items:center;text-align:center;color:#2f9b66}.ecom-hero-illustration span{display:block;font-size:3.6rem;font-weight:900;line-height:1}.ecom-hero-illustration small{display:block;color:#6f6b7d;font-weight:800}
.ecom-profit-card{display:grid;align-content:center;gap:8px}.ecom-profit-card h2{font-size:2rem;margin:0;color:#2f2b3d}.ecom-profit-card p{color:#6f6b7d;margin:0}.ecom-progress{height:8px;border-radius:999px;background:#e8f5ee;overflow:hidden;margin-top:12px}.ecom-progress span{display:block;height:100%;background:#2f9b66;border-radius:999px}
.ecom-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.ecom-mini-stat{display:grid;gap:7px;color:#2f2b3d}.ecom-mini-stat:hover{transform:translateY(-2px)}.ecom-stat-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#e8f5ee;color:#2f9b66;font-weight:900}.ecom-mini-stat small,.ecom-mini-stat em{color:#6f6b7d;font-style:normal;font-weight:700}.ecom-mini-stat strong{font-size:1.75rem;color:#2f2b3d}
.ecom-main-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:24px}.ecom-sales-list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ecom-sales-list div{border-inline-end:1px solid #f0eff2;padding-inline-end:14px}.ecom-sales-list div:last-child{border:0}.ecom-sales-list span,.ecom-sales-list small{display:block;color:#6f6b7d;font-weight:700}.ecom-sales-list strong{display:block;font-size:1.15rem;margin:6px 0;color:#2f2b3d}
.ecom-leads-card{display:grid;align-content:center;gap:12px}.ecom-leads-card h2{font-size:3rem;color:#2f9b66;margin:0}.ecom-leads-card p{color:#6f6b7d;margin:0}
.ecom-command-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ecom-command-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #f0eff2;border-radius:10px;padding:16px;background:#fff;color:#2f2b3d}.ecom-command-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#e8f5ee;color:#2f9b66;font-weight:900}.ecom-command-card strong,.ecom-command-card small{display:block}.ecom-command-card small{color:#6f6b7d;line-height:1.45;margin-top:3px}.ecom-command-card b{color:#2f9b66}
.ecom-table-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ecom-bottom-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:24px}
.ecom-products-list{display:grid;gap:10px}.ecom-products-list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #f0eff2;border-radius:10px;padding:12px;color:#2f2b3d}.ecom-products-list span{width:38px;height:38px;border-radius:10px;background:#e8f5ee;color:#2f9b66;display:grid;place-items:center;font-weight:900}.ecom-products-list strong,.ecom-products-list small{display:block}.ecom-products-list small{color:#6f6b7d}.ecom-products-list b{color:#2f9b66}
@media(max-width:1180px){.ecom-hero-grid,.ecom-main-grid,.ecom-table-grid,.ecom-bottom-grid{grid-template-columns:1fr}.ecom-metrics-grid,.ecom-command-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.ecom-metrics-grid,.ecom-command-grid,.ecom-sales-list{grid-template-columns:1fr}.ecom-welcome-card{display:grid}.ecom-hero-illustration{min-width:0}.ecom-sales-list div{border:0;border-bottom:1px solid #f0eff2;padding:0 0 12px}.ecom-sales-list div:last-child{border:0;padding-bottom:0}}


/* DSOP HOME AND NAV FIX START */
.navbar .nav-actions > form .btn-outline,
.navbar .nav-actions > .btn-outline {
    color: #145c47 !important;
    background: #ffffff !important;
    border-color: #c9ddd5 !important;
    min-width: 52px;
}

.navbar .nav-actions > form .btn-outline:hover,
.navbar .nav-actions > .btn-outline:hover {
    color: #0b4736 !important;
    background: #eef7f3 !important;
    border-color: #9fc9b8 !important;
}

.dashboard-mock .metric b {
    font-size: 1rem;
    line-height: 1.35;
}

.project-main .btn {
    margin-top: 18px;
}
/* DSOP HOME AND NAV FIX END */


/* DSOP PUBLIC VISUAL SYSTEM START */

/* قاعدة الموقع العام فقط، دون التأثير على لوحة الإدارة */
body:not(.admin-body):not(.auth-layout-body) {
    font-size: 16px;
    line-height: 1.65;
    overflow-x: hidden;
}

body:not(.admin-body):not(.auth-layout-body) .container {
    width: min(1120px, calc(100% - 40px));
}

/* شريط التنقل */
body:not(.admin-body):not(.auth-layout-body) .nav-wrap {
    height: 76px;
    gap: 20px;
}

body:not(.admin-body):not(.auth-layout-body) .logo img {
    width: 210px;
}

body:not(.admin-body):not(.auth-layout-body) .nav-links {
    gap: 19px;
    font-size: .89rem;
}

body:not(.admin-body):not(.auth-layout-body) .nav-actions {
    gap: 8px;
}

body:not(.admin-body):not(.auth-layout-body) .nav-actions .btn {
    min-height: 42px;
    padding: 9px 15px;
    border-radius: 9px;
    font-size: .86rem;
    line-height: 1.2;
    white-space: nowrap;
}

body:not(.admin-body):not(.auth-layout-body) .nav-actions .btn-primary {
    color: #ffffff !important;
    background: #2f9b66 !important;
    border-color: #2f9b66 !important;
    box-shadow: 0 7px 18px rgba(47, 155, 102, .25) !important;
}

body:not(.admin-body):not(.auth-layout-body) .nav-actions .btn-primary:hover {
    color: #ffffff !important;
    background: #267f55 !important;
    border-color: #267f55 !important;
}

body:not(.admin-body):not(.auth-layout-body) .nav-actions .btn-outline {
    color: #ffffff !important;
    background: rgba(255, 255, 255, .08) !important;
    border-color: rgba(255, 255, 255, .38) !important;
    box-shadow: none !important;
}

body:not(.admin-body):not(.auth-layout-body) .nav-actions .btn-outline:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, .16) !important;
    border-color: rgba(255, 255, 255, .65) !important;
}

/* الأزرار العامة */
body:not(.admin-body):not(.auth-layout-body) .btn {
    min-height: 46px;
    padding: 11px 19px;
    border-radius: 10px;
    font-size: .94rem;
    font-weight: 800;
    line-height: 1.3;
    white-space: normal;
    text-align: center;
}

body:not(.admin-body):not(.auth-layout-body) .btn-primary {
    color: #ffffff !important;
    background: #2f9b66 !important;
    border: 1px solid #2f9b66 !important;
    box-shadow: 0 8px 20px rgba(47, 155, 102, .22) !important;
}

body:not(.admin-body):not(.auth-layout-body) .btn-primary:hover {
    color: #ffffff !important;
    background: #267f55 !important;
    border-color: #267f55 !important;
    transform: translateY(-1px);
}

body:not(.admin-body):not(.auth-layout-body) .hero .btn-outline,
body:not(.admin-body):not(.auth-layout-body) .project-main .btn-outline {
    color: #ffffff !important;
    background: transparent !important;
    border-color: rgba(255, 255, 255, .55) !important;
}

body:not(.admin-body):not(.auth-layout-body) .hero .btn-outline:hover,
body:not(.admin-body):not(.auth-layout-body) .project-main .btn-outline:hover {
    color: #07110f !important;
    background: #ffffff !important;
    border-color: #ffffff !important;
}

/* Hero */
body:not(.admin-body):not(.auth-layout-body) .hero {
    min-height: 0;
    padding: 118px 0 72px;
}

body:not(.admin-body):not(.auth-layout-body) .hero-grid {
    min-height: 0;
    grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
    gap: 48px;
}

body:not(.admin-body):not(.auth-layout-body) .hero h1 {
    max-width: 720px;
    margin: 10px 0 18px;
    font-size: clamp(2.45rem, 4.15vw, 3.7rem);
    line-height: 1.1;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
}

html[dir="rtl"] body:not(.admin-body):not(.auth-layout-body) .hero h1 {
    letter-spacing: 0;
}

body:not(.admin-body):not(.auth-layout-body) .hero p {
    max-width: 620px;
    margin: 0;
    font-size: 1rem;
    line-height: 1.75;
}

body:not(.admin-body):not(.auth-layout-body) .hero-actions {
    gap: 10px;
    margin-top: 24px;
}

body:not(.admin-body):not(.auth-layout-body) .trust {
    margin-top: 30px;
}

body:not(.admin-body):not(.auth-layout-body) .trust-row {
    gap: 10px 22px;
    margin-top: 10px;
    font-size: .82rem;
}

/* شكل لوحة العرض */
body:not(.admin-body):not(.auth-layout-body) .dashboard-mock {
    width: 100%;
    max-width: 510px;
    justify-self: end;
    padding: 15px;
    transform: none;
    border-radius: 19px;
}

body:not(.admin-body):not(.auth-layout-body) .mock-grid {
    gap: 10px;
}

body:not(.admin-body):not(.auth-layout-body) .metric,
body:not(.admin-body):not(.auth-layout-body) .chart,
body:not(.admin-body):not(.auth-layout-body) .activity {
    padding: 13px;
}

body:not(.admin-body):not(.auth-layout-body) .dashboard-mock .metric b {
    margin-top: 5px;
    font-size: .96rem;
    line-height: 1.35;
}

body:not(.admin-body):not(.auth-layout-body) .chart,
body:not(.admin-body):not(.auth-layout-body) .activity {
    min-height: 180px;
}

/* التحديات */
body:not(.admin-body):not(.auth-layout-body) .challenge-strip {
    margin-top: -25px;
}

body:not(.admin-body):not(.auth-layout-body) .challenge-box {
    padding: 22px;
    gap: 22px;
}

body:not(.admin-body):not(.auth-layout-body) .challenge-title h2 {
    font-size: 1.5rem;
    line-height: 1.35;
}

body:not(.admin-body):not(.auth-layout-body) .challenge-grid {
    gap: 10px;
}

body:not(.admin-body):not(.auth-layout-body) .challenge {
    min-width: 0;
    padding: 15px;
    font-size: .85rem;
    line-height: 1.55;
}

/* الأقسام والعناوين */
body:not(.admin-body):not(.auth-layout-body) .section {
    padding: 64px 0;
}

body:not(.admin-body):not(.auth-layout-body) .section-title {
    max-width: 850px;
    margin: 6px 0 12px;
    font-size: clamp(1.75rem, 2.8vw, 2.45rem);
    line-height: 1.24;
    overflow-wrap: anywhere;
}

body:not(.admin-body):not(.auth-layout-body) .section-copy {
    max-width: 700px;
    margin-top: 0;
}

/* البطاقات */
body:not(.admin-body):not(.auth-layout-body) .cards {
    gap: 16px;
    margin-top: 26px;
}

body:not(.admin-body):not(.auth-layout-body) .card {
    min-width: 0;
    padding: 23px;
    border-radius: 16px;
}

body:not(.admin-body):not(.auth-layout-body) .card-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 900;
}

body:not(.admin-body):not(.auth-layout-body) .card h3 {
    margin: 15px 0 7px;
    font-size: 1.08rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

body:not(.admin-body):not(.auth-layout-body) .card p {
    font-size: .93rem;
    line-height: 1.65;
}

body:not(.admin-body):not(.auth-layout-body) .more {
    margin-top: 15px;
    font-size: .88rem;
}

/* خمس خطوات في صف واحد بدل 4 + خطوة منفردة */
body:not(.admin-body):not(.auth-layout-body) .process {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-top: 30px;
}

body:not(.admin-body):not(.auth-layout-body) .step {
    min-width: 0;
    padding: 22px 14px 10px;
}

body:not(.admin-body):not(.auth-layout-body) .step-num {
    width: 38px;
    height: 38px;
    margin-top: -42px;
}

body:not(.admin-body):not(.auth-layout-body) .step h3 {
    margin: 17px 0 7px;
    font-size: 1rem;
}

body:not(.admin-body):not(.auth-layout-body) .step p {
    margin: 0;
    font-size: .86rem;
    line-height: 1.6;
}

/* دراسة الحالة */
body:not(.admin-body):not(.auth-layout-body) .projects {
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: 18px;
    margin-top: 26px;
}

body:not(.admin-body):not(.auth-layout-body) .project-main,
body:not(.admin-body):not(.auth-layout-body) .project-side {
    min-height: 340px;
}

body:not(.admin-body):not(.auth-layout-body) .project-main {
    display: flex;
    align-items: flex-end;
}

body:not(.admin-body):not(.auth-layout-body) .project-content {
    position: relative;
    inset: auto;
    width: 100%;
    padding: 28px;
}

body:not(.admin-body):not(.auth-layout-body) .project-content h3 {
    max-width: 760px;
    margin: 8px 0;
    font-size: 1.55rem;
    line-height: 1.4;
}

body:not(.admin-body):not(.auth-layout-body) .project-content p {
    margin: 0;
    color: #d2dfda;
    font-size: .93rem;
}

body:not(.admin-body):not(.auth-layout-body) .project-content .btn {
    margin-top: 17px;
}

body:not(.admin-body):not(.auth-layout-body) .stat {
    min-width: 0;
    padding: 24px;
}

body:not(.admin-body):not(.auth-layout-body) .stat b {
    margin-bottom: 7px;
    font-size: 1rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

body:not(.admin-body):not(.auth-layout-body) .stat span {
    font-size: .84rem;
    line-height: 1.55;
}

/* CTA */
body:not(.admin-body):not(.auth-layout-body) .cta {
    padding: 52px 0;
}

body:not(.admin-body):not(.auth-layout-body) .cta h2 {
    max-width: 760px;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    line-height: 1.25;
}

body:not(.admin-body):not(.auth-layout-body) .cta p {
    max-width: 720px;
    margin-bottom: 0;
}

/* منع الفراغات الناتجة عن عناصر فارغة */
body:not(.admin-body):not(.auth-layout-body) .cards:empty,
body:not(.admin-body):not(.auth-layout-body) .articles:empty,
body:not(.admin-body):not(.auth-layout-body) section:empty {
    display: none;
}

/* الشاشات المتوسطة */
@media (max-width: 1100px) {
    body:not(.admin-body):not(.auth-layout-body) .hero h1 {
        font-size: clamp(2.25rem, 4vw, 3.2rem);
    }

    body:not(.admin-body):not(.auth-layout-body) .process {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 38px;
    }

    body:not(.admin-body):not(.auth-layout-body) .nav-links {
        gap: 14px;
        font-size: .84rem;
    }
}

/* التابلت */
@media (max-width: 950px) {
    body:not(.admin-body):not(.auth-layout-body) .hero {
        padding: 105px 0 60px;
    }

    body:not(.admin-body):not(.auth-layout-body) .hero-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    body:not(.admin-body):not(.auth-layout-body) .dashboard-mock {
        max-width: 720px;
        justify-self: stretch;
    }

    body:not(.admin-body):not(.auth-layout-body) .challenge-box,
    body:not(.admin-body):not(.auth-layout-body) .projects {
        grid-template-columns: 1fr;
    }

    body:not(.admin-body):not(.auth-layout-body) .challenge-grid,
    body:not(.admin-body):not(.auth-layout-body) .cards,
    body:not(.admin-body):not(.auth-layout-body) .process {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body:not(.admin-body):not(.auth-layout-body) .process {
        row-gap: 38px;
    }

    body:not(.admin-body):not(.auth-layout-body) .project-main,
    body:not(.admin-body):not(.auth-layout-body) .project-side {
        min-height: 310px;
    }

    body:not(.admin-body):not(.auth-layout-body) .cta-wrap {
        align-items: flex-start;
    }
}

/* الموبايل */
@media (max-width: 620px) {
    body:not(.admin-body):not(.auth-layout-body) .container {
        width: min(100% - 24px, 1120px);
    }

    body:not(.admin-body):not(.auth-layout-body) .logo img {
        width: 184px;
    }

    body:not(.admin-body):not(.auth-layout-body) .hero {
        padding: 94px 0 48px;
    }

    body:not(.admin-body):not(.auth-layout-body) .hero h1 {
        font-size: 2.08rem;
        line-height: 1.16;
    }

    body:not(.admin-body):not(.auth-layout-body) .hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    body:not(.admin-body):not(.auth-layout-body) .hero-actions .btn,
    body:not(.admin-body):not(.auth-layout-body) .cta .btn {
        width: 100%;
    }

    body:not(.admin-body):not(.auth-layout-body) .section {
        padding: 48px 0;
    }

    body:not(.admin-body):not(.auth-layout-body) .challenge-grid,
    body:not(.admin-body):not(.auth-layout-body) .cards,
    body:not(.admin-body):not(.auth-layout-body) .process {
        grid-template-columns: 1fr;
    }

    body:not(.admin-body):not(.auth-layout-body) .process {
        row-gap: 38px;
    }

    body:not(.admin-body):not(.auth-layout-body) .mock-grid {
        grid-template-columns: 1fr;
    }

    body:not(.admin-body):not(.auth-layout-body) .chart {
        grid-column: auto;
    }

    body:not(.admin-body):not(.auth-layout-body) .project-main,
    body:not(.admin-body):not(.auth-layout-body) .project-side {
        min-height: auto;
    }

    body:not(.admin-body):not(.auth-layout-body) .project-content {
        padding: 24px;
    }

    body:not(.admin-body):not(.auth-layout-body) .project-content h3 {
        font-size: 1.3rem;
    }

    body:not(.admin-body):not(.auth-layout-body) .cta-wrap {
        flex-direction: column;
        align-items: stretch;
    }
}

/* DSOP PUBLIC VISUAL SYSTEM END */
