@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&family=Manrope:wght@400;600;700;800&display=swap');
:root{--navy:#102e45;--navy2:#193f57;--blue:#096f9c;--aqua:#159e9b;--bg:#f3f7fa;--paper:#fff;--line:#dce7ed;--text:#193a4f;--sub:#728798;--red:#bb4655;--orange:#b9771e;--shadow:0 14px 40px rgba(29,67,95,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Cairo,Arial,sans-serif;font-size:13px;color:var(--text);background:var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a{color:var(--blue)}.loading-center{height:100vh;display:grid;place-content:center;color:var(--navy);font:800 32px Manrope,sans-serif}.pulse{width:7px;height:7px;border-radius:50%;background:var(--aqua);display:inline-block;animation:pulse 1.1s infinite}@keyframes pulse{50%{opacity:.1}}.login-bg{min-height:100vh;background:radial-gradient(circle at 85% 10%,#2a819d3d,transparent 36%),linear-gradient(145deg,#0a273c,#195574);display:grid;place-items:center;padding:20px}.login-card{background:white;border-radius:24px;width:min(430px,100%);padding:35px;box-shadow:0 24px 70px #04182740}.login-logo{width:90px;height:67px;object-fit:contain;margin-bottom:6px}.login-title{font:800 32px Manrope,sans-serif;letter-spacing:-1.2px;color:var(--navy)}.login-sub{font-size:11px;letter-spacing:.8px;color:var(--sub);font-weight:700}.login-card h2{font-size:20px;margin:30px 0 8px}.login-card p{color:var(--sub);line-height:1.8}.form-label{display:block;font-weight:700;font-size:12px;margin:13px 0 6px}.field-input,input,select,textarea{width:100%;background:#fff;border:1px solid #d2e1e9;border-radius:10px;padding:10px 12px;outline:none;color:var(--text);min-height:40px}.field-input:focus,input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #147dae17}textarea{min-height:85px;resize:vertical}.btn{border:1px solid var(--line);border-radius:10px;background:white;color:var(--text);font-weight:800;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:.16s;white-space:nowrap}.btn:hover{filter:brightness(.96)}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.teal{background:#0d938a;border-color:#0d938a;color:white}.btn.red{color:var(--red);border-color:#edc6cb}.btn.soft{background:#eaf5f9;color:var(--blue);border-color:#d4eaf1}.btn.full{width:100%}.btn.small{padding:7px 10px;font-size:11px}.divider{height:1px;background:var(--line);margin:18px 0}.tiny{font-size:11px}.muted{color:var(--sub)}.mono{font-family:Manrope,monospace;direction:ltr;unicode-bidi:isolate}.brand{display:flex;gap:10px;align-items:center;padding:12px 10px 22px;border-bottom:1px solid #fff2}.brand img{width:54px;height:40px;object-fit:contain;background:#fff;border-radius:10px}.brand-title{color:#fff;font:800 21px Manrope,Arial,sans-serif;line-height:1.2}.brand-caption{color:#8fb5c6;font:700 10px Manrope,Arial,sans-serif;letter-spacing:.9px;margin-top:3px}.shell{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(165deg,#0a293d,#164862);color:#d5e5ed;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:18px 13px;overflow-y:auto}.nav-title{font-size:10px;color:#8eacbe;letter-spacing:1.7px;padding:25px 12px 10px;font-family:Manrope,sans-serif}.nav button{width:100%;border:0;background:transparent;border-radius:10px;color:#bbd0dd;font-size:13px;font-weight:750;padding:13px 13px;text-align:right;margin-bottom:3px;display:flex;align-items:center;gap:12px}.nav button:hover{background:#ffffff0f;color:white}.nav button.active{background:#267da5;color:white;box-shadow:0 4px 15px #00182522}.nav-icon{width:22px;text-align:center;font-size:17px}.sidebar-bottom{margin-top:auto;padding:15px 10px 5px;border-top:1px solid #ffffff28}.sidebar-bottom strong{color:white;display:block}.sidebar-bottom .tiny{color:#a4bfcb}.main{min-width:0}.topbar{display:flex;align-items:center;gap:10px;background:white;position:sticky;top:0;z-index:5;box-shadow:0 1px 0 #e1e8ec;padding:14px 28px}.topbar .grow{flex:1}.mode-badge{font:800 10px Manrope,sans-serif;background:#d9f2e9;border:1px solid #b7e6d8;color:#126e5c;padding:8px 11px;border-radius:40px;letter-spacing:.7px}.mode-badge.demo{background:#fff1d7;border-color:#f3d8aa;color:#906014}.topbar-user{font-weight:700}.content{max-width:1550px;margin:auto;padding:30px 30px 65px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.page-head h1{margin:4px 0 2px;font-size:27px;font-weight:800;color:var(--navy)}.eyebrow{font:800 10px Manrope,Arial,sans-serif;letter-spacing:1.7px;color:var(--blue)}.page-head p{margin:0;color:var(--sub)}.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card,.stat{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.stat{padding:19px}.stat-label{color:var(--sub);font-size:12px}.stat-value{font:800 29px Manrope,Arial,sans-serif;margin:11px 0;color:var(--navy)}.stat-foot{font-size:11px;color:var(--sub)}.stat-icon{display:inline-grid;place-items:center;background:#eaf5f8;color:var(--blue);border-radius:9px;width:33px;height:33px;float:left;font-size:17px}.two-col{display:grid;grid-template-columns:1.45fr 1fr;gap:16px;margin-top:16px}.card-head{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid var(--line);gap:10px}.card-head h3{margin:0;font-size:15px}.card-body{padding:18px}.card-note{background:#f1f8fb;border:1px solid #daedf6;border-radius:10px;padding:12px;color:#466c80;line-height:1.8}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;white-space:nowrap}.table th{background:#f7fafc;text-align:right;color:#8499a7;padding:12px 16px;font-size:11px;font-weight:800}.table td{padding:13px 16px;border-top:1px solid #ecf1f4}.table tr:hover td{background:#fcfeff}.table .strong{font-weight:800}.table .sub{font-size:11px;color:var(--sub)}.badge{display:inline-block;padding:4px 9px;border-radius:30px;font-size:11px;font-weight:800;background:#e9f2f8;color:#39708b}.badge.approved,.badge.completed,.badge.available{background:#e1f5ec;color:#218463}.badge.in_progress,.badge.assigned{background:#e2f2fa;color:#207a9e}.badge.submitted,.badge.planned,.badge.urgent{background:#fff3d8;color:#986719}.badge.rejected,.badge.cancelled,.badge.maintenance,.badge.inactive{background:#fae8e9;color:#b54b55}.row-acts{display:flex;gap:5px}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:0 0 15px}.toolbar input{max-width:300px}.toolbar select{max-width:185px}.empty{padding:44px 15px;text-align:center;color:var(--sub)}.empty-icon{font-size:40px;margin-bottom:8px}.info-strip{margin-top:18px;padding:13px 17px;border:1px solid #dce6ea;background:#fafdff;border-radius:12px;color:#637f92;line-height:1.8}.layout-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.progress{height:8px;background:#edf3f5;border-radius:99px;overflow:hidden}.progress>div{background:linear-gradient(90deg,#0e83aa,#19a39b);height:100%}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-grid .wide{grid-column:1/-1}.overlay{position:fixed;inset:0;background:#0624368a;display:grid;place-items:center;z-index:20;padding:17px}.modal{background:white;border-radius:18px;width:min(690px,100%);max-height:92vh;overflow-y:auto;box-shadow:0 20px 80px #071e2960}.modal-head{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:19px}.modal-body{padding:20px 22px}.modal-foot{padding:15px 22px;border-top:1px solid var(--line);display:flex;gap:9px;justify-content:flex-end}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;font-weight:800}.toast{position:fixed;bottom:22px;left:22px;max-width:430px;background:#16394c;color:white;box-shadow:0 12px 40px #00192240;border-radius:12px;padding:13px 18px;z-index:50;opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:translateY(0)}.hero{padding:25px;border-radius:17px;color:#fff;background:linear-gradient(115deg,#0d4965,#0d7e94);display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px}.hero h2{margin:5px 0;font-size:20px}.hero p{margin:0;color:#d2eef0}.hero-icon{font-size:50px;opacity:.85}.drawer-hint{font-size:11px;color:var(--sub);margin-top:16px}.tag-demo{background:#fff8e9;border:1px solid #eed6b0;padding:8px 12px;border-radius:9px;color:#906524}.mobile-menu{display:none}.footer{font:600 10px Manrope,sans-serif;color:#97aab5;text-align:center;padding-top:35px}#modal-root:empty{display:none}
@media(max-width:1080px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}}
@media(max-width:740px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;right:-270px;width:245px;z-index:12;transition:right .2s}.sidebar.open{right:0}.mobile-menu{display:inline-flex}.topbar{padding:12px 15px}.topbar-user{display:none}.content{padding:20px 14px 40px}.page-head{flex-direction:column}.page-head h1{font-size:22px}.cards{gap:9px}.stat{padding:14px}.stat-value{font-size:23px}.form-grid{grid-template-columns:1fr}.login-card{padding:24px}.hero-icon{display:none}}
/* GYPTO GO V2 · OEE-inspired design system · RTL */
:root{--navy:#07264b;--navy2:#0b3770;--blue:#075ed6;--aqua:#11a9e7;--bg:#f3f7fe;--paper:#fff;--line:#dfe8f4;--text:#0b2b55;--sub:#6b86a7;--shadow:0 12px 30px rgba(12,54,120,.065)}
body{background:radial-gradient(circle at 35% 0%,#e2efff 0,transparent 42%),#f3f7fe;font-size:13px;color:var(--text)}
.shell{grid-template-columns:272px minmax(0,1fr)}
.sidebar{background:linear-gradient(169deg,#061e3c 0%,#073768 58%,#064a90 100%);padding:22px 17px;border-left:1px solid #0d4e8a;box-shadow:-8px 0 30px #07264912}
.sidebar:after{content:"";pointer-events:none;position:sticky;margin-top:16px;bottom:0;left:0;height:64px;flex-shrink:0;background:radial-gradient(ellipse 180px 70px at 80% 100%,#008bf570,transparent 90%);opacity:.9}
.brand{padding:11px 7px 25px;gap:12px;border-bottom:1px solid #91c9ff38}.brand img{width:58px;height:55px;padding:4px;border-radius:14px}.brand-title{font-size:25px;letter-spacing:-.5px}.brand-caption{font-size:9px;letter-spacing:1.4px;color:#91bbeb}.nav-title{font-size:10px;color:#91bce0;padding:31px 14px 14px}.nav button{padding:14px 15px;border-radius:12px;color:#d0dff3;font-size:13px;font-weight:800;margin-bottom:6px;min-height:50px;transition:background .15s}.nav-icon{width:28px;height:28px;display:grid;place-items:center;color:#b8d8fa;background:#ffffff0f;border-radius:8px;font-size:19px}.nav button.active{background:linear-gradient(110deg,#138ce7,#075ad0);box-shadow:0 6px 20px #00193650}.nav button.active .nav-icon{color:white;background:#ffffff28}.sidebar-bottom{border-top:1px solid #95b8e94a}.sidebar-bottom .tiny{color:#b2cdea}
.topbar{min-height:74px;box-shadow:0 5px 30px #0a37610a;background:#fff;padding:15px 29px;border-bottom:1px solid #e2eaf5}.topbar .eyebrow{letter-spacing:2.3px;font-size:11px}.topbar strong{font-family:Manrope,sans-serif;color:#12365a;font-size:11px;letter-spacing:.5px}.mode-badge{background:#ddf8eb;border:1px solid #b9edd5;color:#068346;padding:9px 15px;font-size:11px}.mode-badge:before{content:"●";margin-left:6px;color:#00a54f}.mode-badge.demo{background:#fff2da;border-color:#ffe1a5;color:#9c6304}.mode-badge.demo:before{color:#d38b08}
.content{padding:24px 27px 55px;max-width:1750px}.page-head{margin:0 0 22px;align-items:center}.page-head h1{font-size:30px;line-height:1.45;font-weight:800;color:#071f47;letter-spacing:-.5px}.eyebrow{color:#075ed6;font-size:11px}.page-head p{font-size:12px}.page-actions{gap:10px}
.dash-hero{position:relative;min-height:170px;border-radius:20px;margin-bottom:22px;padding:29px 35px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;background:linear-gradient(110deg,#eef7ff 6%,#e5f1ff 55%,#f9fcff 100%);border:1px solid #dbeafa;box-shadow:var(--shadow)}.dash-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(116deg,transparent 0 72px,#d7eafa55 73px 74px,transparent 75px 156px);opacity:.3}.dash-hero-text{position:relative;z-index:1}.dash-pretitle{font:800 10px Manrope,sans-serif;color:#0068d4;letter-spacing:2px}.dash-hero h2{font-size:23px;margin:12px 0 7px;color:#092a54}.dash-hero p{margin:0;color:#6581a5;font-size:12px}.bus-graphic{position:relative;width:245px;height:90px;border-radius:26px 32px 14px 13px;background:linear-gradient(160deg,#fdfeff 0%,#d5eaff 66%,#6cacec 100%);box-shadow:0 18px 0 -12px #93bce9aa,0 25px 35px #1364b13b;border:4px solid #75a9dc;flex-shrink:0;margin:5px 40px 10px 5px;transform:skewX(-5deg)}.bus-graphic:after{content:"";position:absolute;top:56px;left:0;right:0;height:11px;background:linear-gradient(90deg,#056ee6,#30adff);border-radius:2px}.bus-window{display:inline-block;width:51px;height:39px;background:linear-gradient(135deg,#164b8b,#9bcdf4);margin:7px 2px 0 4px;border-radius:9px 4px 5px 4px;box-shadow:inset -8px -4px 0 #0a3c74a0}.bus-wheel{position:absolute;bottom:-17px;width:29px;height:29px;border-radius:50%;background:#092547;border:6px solid #d7e6fb;z-index:1}.bus-wheel-one{right:36px}.bus-wheel-two{left:28px}
.cards{gap:15px}.stat,.card{border:1px solid #dfe8f5;border-radius:18px;box-shadow:0 10px 25px #0c42750b}.stat{min-height:164px;padding:22px;background:linear-gradient(152deg,#fff,#f8fbff);overflow:hidden;position:relative}.stat:after{content:"";position:absolute;width:95px;height:95px;border:18px solid #ebf3ff;left:-47px;bottom:-64px;border-radius:50%;pointer-events:none}.stat-icon{width:44px;height:44px;border-radius:12px;color:#0867d2;background:#e7f2fe;float:left;font-size:22px}.stat-label{font-weight:800;color:#637fa1;font-size:12px}.stat-value{font-size:35px;color:#082a55;margin:17px 0 7px}.stat-foot{font-weight:600;color:#849cbb}.card-head{padding:20px 22px;border-bottom:1px solid #e3edf7}.card-head h3{font-size:16px;color:#092a57}.card-body{padding:22px}.table th{background:#eff5fd;color:#5c7898;font-weight:800;padding:15px 15px}.table td{padding:16px 15px;border-top:1px solid #e8eff7}.table .strong{color:#103a68}.badge{border-radius:50px;padding:6px 12px;background:#e6f1ff;color:#075ccc}.badge.in_progress,.badge.assigned{background:#d9ecff;color:#055cbd}.badge.completed,.badge.approved,.badge.available{background:#dff8e9;color:#137a43}.btn{border-radius:12px;padding:11px 16px;border-color:#dae7f6;color:#123c6d;font-size:12px}.btn.primary{background:linear-gradient(135deg,#096fe9,#0758cb);border-color:#0b65dc;box-shadow:0 6px 16px #0870e125}.btn.soft{background:#ebf4ff;border-color:#cfe5ff;color:#0659be}.btn.teal{background:#0b9c89}.progress{height:9px;background:#e8eff9;margin-top:8px}.progress>div{background:linear-gradient(90deg,#0962d4,#24a6f1)}.card-note{background:#eff8ff;border-color:#d6e9fe}.two-col{gap:18px;margin-top:18px}.info-strip{background:#f3f9ff;border-color:#dceaf9;color:#52799b;border-radius:13px}.hero{background:linear-gradient(125deg,#063d81,#088ee0);border-radius:20px;box-shadow:0 16px 35px #08459220}.field-input:focus,input:focus,select:focus,textarea:focus{border-color:#086ae1;box-shadow:0 0 0 3px #1279ec1c}.login-bg{background:radial-gradient(circle at 85% 8%,#198ded5d,transparent 30%),linear-gradient(140deg,#061c3b,#07528a)}.login-card{border:1px solid #ffffff6c}.login-title{color:#065ac0}.footer{color:#8ba2bf}
.seat-toolbar{display:flex;align-items:center;gap:12px;padding:19px;background:#fff;border:1px solid #dfe8f5;border-radius:17px;margin-bottom:16px;flex-wrap:wrap}.seat-toolbar label{font-weight:800}.seat-toolbar select{max-width:300px}.seat-board{padding:24px;background:white;border:1px solid #dfe8f5;border-radius:19px}.seat-board-head{display:flex;justify-content:space-between;border-bottom:1px solid #e3edf7;padding-bottom:16px;margin-bottom:22px;align-items:center}.seat-board-head strong{font-size:17px}.seat-board-head span{background:#eff6fd;border-radius:14px;padding:10px 18px;color:#5b7799;font-weight:800}.seat-layout{width:min(550px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:26px;row-gap:13px;direction:rtl}.seat{background:#f5faff;border:1px solid #cee0f4;min-height:72px;border-radius:13px;color:#315c89;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;min-width:0}.seat small{font-size:9px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat b{font-family:Manrope,sans-serif}.seat.occupied{background:#dceeff;border-color:#8abbef;color:#034eae}.seat:hover{border-color:#0a6de2;box-shadow:0 3px 13px #1e72cb27}.seat-number{display:inline-block;color:#0758cc;background:#e1efff;border-radius:7px;padding:1px 9px}
@media(max-width:1100px){.shell{grid-template-columns:240px minmax(0,1fr)}.sidebar{padding:17px 10px}.bus-graphic{width:180px;height:76px;margin-right:12px}.bus-window{width:34px;height:31px}.dash-hero h2{font-size:20px}}
@media(max-width:740px){.shell{grid-template-columns:1fr}.sidebar{right:-280px;width:265px}.content{padding:16px 13px 38px}.topbar{padding:10px 14px;min-height:64px}.topbar .eyebrow{font-size:9px}.topbar strong{font-size:9px}.page-head h1{font-size:23px}.dash-hero{min-height:130px;padding:20px}.dash-hero h2{font-size:18px}.bus-graphic{display:none}.stat{min-height:128px;padding:15px}.stat-value{font-size:28px;margin:9px 0 4px}.stat-icon{height:35px;width:35px;font-size:18px}.seat-layout{column-gap:10px;row-gap:9px}.seat{min-height:64px}.seat-board{padding:14px}}
