*{box-sizing:border-box}html{font-size:15px}body{margin:0;background:var(--background);color:var(--text-primary);font-family:Inter,"Segoe UI",Arial,sans-serif;min-height:100vh}a{color:var(--qe-primary);text-decoration:none}button,input,select,textarea{font:inherit}.app-header{height:74px;background:var(--qe-primary-dark);color:white;display:flex;align-items:center;padding:0 3vw;gap:2.5rem;position:sticky;top:0;z-index:20;box-shadow:0 4px 20px #003f7d33}.brand{color:white;display:flex;align-items:center;gap:.75rem;min-width:215px}.brand:hover{color:white}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:2px solid #fff;border-radius:50%;font-weight:800;letter-spacing:-1px}.brand b,.brand small,.user-chip b,.user-chip small{display:block}.brand b{font-size:1.05rem}.brand small,.user-chip small{opacity:.72;font-size:.72rem}.top-nav{display:flex;align-self:stretch;align-items:center;gap:.2rem;flex:1}.top-nav a{color:#d9edff;padding:.7rem .72rem;border-radius:8px;font-size:.9rem;white-space:nowrap}.top-nav a:hover{background:#ffffff18;color:#fff}.user-chip{display:flex;align-items:center;gap:.65rem;font-size:.82rem}.avatar{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#d8ecff;color:var(--qe-primary-dark);font-weight:800}.avatar.large{width:48px;height:48px;font-size:1.1rem}.link-button{border:0;background:transparent;color:#b8dcff;font-size:.75rem;padding:.2rem}.page-shell{width:min(1440px,94vw);margin:0 auto;padding:2.2rem 0 4rem;min-height:calc(100vh - 122px)}.app-footer{display:flex;justify-content:space-between;padding:1rem 3vw;color:var(--text-muted);border-top:1px solid var(--border);font-size:.78rem;background:#fff}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.5rem}.page-heading h1{font-size:2rem;letter-spacing:-.035em;margin:.2rem 0}.page-heading p,.panel-head p,.section-title p{margin:0;color:var(--text-muted)}.eyebrow{text-transform:uppercase;color:var(--qe-primary);font-size:.72rem;font-weight:800;letter-spacing:.12em}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.4rem;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.35rem;border-bottom:1px solid var(--border)}.panel h2,.panel-head h2{font-size:1.05rem;margin:0 0 .2rem}.stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:1.5rem}.stat-grid article,.admin-stats article{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem;box-shadow:var(--shadow);position:relative;overflow:hidden}.stat-grid article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#aab8c4}.stat-grid .accent-stat:before{background:var(--qe-success)}.stat-grid span,.stat-grid small,.admin-stats span{display:block;color:var(--text-muted)}.stat-grid strong,.admin-stats strong{font-size:2rem;display:block;margin:.25rem 0}.request-list{display:flex;flex-direction:column}.request-row{display:grid;grid-template-columns:minmax(250px,1.7fr) .8fr .65fr 1fr;align-items:center;gap:1rem;padding:1rem 1.35rem;border-bottom:1px solid var(--border);color:var(--text-primary)}.request-row:last-child{border:0}.request-row:hover{background:#f8fbfe}.request-row small,table small{display:block;color:var(--text-muted);margin-top:.2rem}.request-row i{font-style:normal;color:var(--qe-primary);text-align:right}.status{display:inline-flex;align-items:center;justify-content:center;width:max-content;border-radius:999px;padding:.28rem .62rem;font-size:.72rem;font-weight:750;background:#edf1f4;color:#516171;white-space:nowrap}.status.Approved{background:var(--qe-success-soft);color:var(--qe-success)}.status.Rejected{background:var(--danger-soft);color:var(--danger)}.status.PendingDepartmentManager,.status.PendingCateringSupervisor{background:var(--warning-soft);color:var(--warning)}.status.Draft{background:#edf1f5;color:#5e6d7b}.status.large{font-size:.85rem;padding:.5rem .85rem}.btn{border-radius:9px;font-weight:700}.btn-primary{background:var(--qe-primary);border-color:var(--qe-primary)}.btn-outline-primary{color:var(--qe-primary);border-color:var(--qe-primary)}.btn-success{background:var(--qe-success);border-color:var(--qe-success)}.btn-danger{background:var(--danger);border-color:var(--danger)}.action-group{display:flex;gap:.7rem;align-items:center}.toolbar{display:flex;gap:.8rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);align-items:flex-end}.toolbar select,.toolbar input,.search-box{border:1px solid var(--border);background:white;border-radius:9px;padding:.6rem .75rem}.search-box{display:flex;align-items:center;gap:.5rem;min-width:300px}.search-box input{border:0!important;padding:0!important;outline:0;width:100%}.responsive-table{width:100%;overflow:auto}table{width:100%;border-collapse:collapse}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:#f7f9fb;text-align:left}th,td{padding:.85rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:hover{background:#fbfdff}tfoot td{font-size:1.05rem;font-weight:800;background:var(--qe-primary-soft)}tfoot td:last-child{color:var(--qe-primary)}.count-pill{background:var(--qe-primary-soft);color:var(--qe-primary);font-weight:800;padding:.55rem .8rem;border-radius:999px}.form-section{display:grid;grid-template-columns:48px minmax(180px,260px) 1fr;gap:1.2rem;padding:1.35rem;overflow:visible}.section-number{background:var(--qe-primary-soft);color:var(--qe-primary);width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:800}.section-title h2{margin:.2rem 0;font-size:1.08rem}.employee-card,.info-card{border:1px solid var(--border);border-radius:12px;background:#f9fbfd;padding:1rem;display:flex;align-items:center;gap:1rem;position:relative}.employee-card strong,.employee-card span,.info-card strong,.info-card span{display:block}.employee-card dl,.info-card dl{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin:0 0 0 auto}.employee-card dt,.employee-card dd,.info-card dt,.info-card dd{margin:0}.employee-card dt,.info-card dt{font-size:.7rem;color:var(--text-muted);text-transform:uppercase}.locked{position:absolute;right:.7rem;top:.5rem;font-size:.68rem;color:var(--text-muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid label,.filter-form label{display:flex;flex-direction:column;gap:.35rem;font-weight:700;font-size:.82rem}.form-grid input,.form-grid select,.form-grid textarea,.filter-form input,.filter-form select,.decision-bar textarea{width:100%;border:1px solid #cbd6df;border-radius:9px;padding:.72rem .8rem;background:#fff}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid #0b79d433;border-color:var(--qe-primary)}.span-2{grid-column:span 2}.check-line{flex-direction:row!important;align-items:center}.check-line input{width:auto}.cutoff-note{grid-column:3;background:var(--warning-soft);color:#7b4b08;border-radius:10px;padding:.8rem;margin-top:.2rem}.menu-toolbar{grid-column:3;display:flex;gap:.8rem}.menu-toolbar select{border:1px solid var(--border);border-radius:9px;padding:.6rem}.menu-layout{grid-column:3;display:grid;grid-template-columns:1fr 310px;gap:1rem;align-items:start}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.menu-card{border:1px solid var(--border);border-radius:12px;padding:.9rem;display:grid;grid-template-columns:42px 1fr 55px;gap:.8rem;align-items:start}.menu-card:hover{border-color:#88b9e6;box-shadow:0 6px 18px #005eb812}.menu-icon{width:42px;height:42px;border-radius:10px;background:var(--qe-primary-soft);color:var(--qe-primary);display:grid;place-items:center;font-weight:800}.menu-copy span{font-size:.67rem;text-transform:uppercase;color:var(--text-muted)}.menu-copy h3{font-size:.96rem;margin:.22rem 0}.menu-copy p{color:var(--text-muted);font-size:.78rem;line-height:1.4;margin:0 0 .45rem}.menu-copy strong{color:var(--qe-primary);font-size:.87rem}.menu-copy strong small{color:var(--text-muted);font-weight:500}.menu-card label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase}.menu-card input{width:100%;padding:.45rem;border:1px solid var(--border);border-radius:7px}.order-summary{position:sticky;top:90px;background:var(--qe-primary-dark);color:#fff;border-radius:12px;padding:1.1rem}.order-summary .eyebrow{color:#8dcbff}.summary-lines{min-height:100px;padding:.9rem 0}.summary-lines p{color:#c5ddef;font-size:.8rem}.summary-line{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;font-size:.8rem}.order-summary dl{margin:0;border-top:1px solid #ffffff2b}.order-summary dl div{display:flex;justify-content:space-between;padding:.7rem 0}.order-summary dt{font-weight:500}.order-summary dd{margin:0;font-weight:800}.order-summary .grand-total{font-size:1.15rem;border-top:1px solid #ffffff2b}.order-summary>small{color:#b8d2e7}.bottom-actions{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;position:sticky;bottom:1rem;box-shadow:0 12px 35px #18375224;z-index:10}.bottom-actions>span{color:var(--text-muted);font-size:.8rem}.validation-summary{color:var(--danger);background:var(--danger-soft);border-radius:10px;margin-bottom:1rem}.validation-summary ul{margin:0;padding:1rem 2rem}.field-validation-error{color:var(--danger);font-size:.72rem}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.3rem}.detail-main{padding:0 1.35rem}.detail-section{padding:1.3rem 0;border-bottom:1px solid var(--border)}.detail-section:last-child{border:0}.detail-section h2{margin-bottom:1rem}.fact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:0}.fact-grid div,.side-facts div{padding:.75rem;background:#f8fafc;border-radius:9px}.fact-grid dt,.side-facts dt,.text-facts dt{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:.2rem}.fact-grid dd,.side-facts dd,.text-facts dd{margin:0;font-weight:650}.text-facts{display:grid;gap:.8rem}.text-facts div{border-left:3px solid var(--qe-primary);padding:.55rem .8rem;background:#f9fbfd}.detail-side .panel{padding:1.15rem}.detail-side .panel h2{margin-bottom:1rem}.timeline{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:20px 1fr;gap:.65rem;position:relative;padding-bottom:1rem}.timeline li:before{content:"";position:absolute;left:7px;top:15px;bottom:0;width:2px;background:var(--border)}.timeline li:last-child:before{display:none}.timeline li>span{width:16px;height:16px;border-radius:50%;background:var(--qe-success);box-shadow:0 0 0 4px var(--qe-success-soft);margin-top:.1rem;z-index:1}.timeline b,.timeline small,.timeline time{display:block}.timeline small,.timeline time{color:var(--text-muted);font-size:.72rem}.timeline p{font-size:.78rem;margin:.35rem 0;background:#f6f8fa;padding:.5rem;border-radius:6px}.side-facts{display:grid;gap:.6rem;margin:0}.danger-text{color:var(--danger)!important}.warning-text{color:var(--warning)!important}.decision-bar{position:sticky;bottom:1rem;z-index:15;background:var(--qe-primary-dark);color:#fff;border-radius:14px;padding:1rem 1.25rem;display:grid;grid-template-columns:260px 1fr;align-items:center;gap:1rem;box-shadow:0 14px 35px #003f7d44}.decision-bar span{display:block;color:#bdd7eb;font-size:.75rem}.decision-bar form{display:grid;grid-template-columns:1fr auto auto;gap:.7rem}.decision-bar textarea{resize:none}.operations-grid{padding:1rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.operation-card{border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:76px 1fr;gap:1rem;padding:1rem;position:relative}.date-block{background:var(--qe-primary-soft);color:var(--qe-primary);border-radius:10px;padding:.7rem;text-align:center;align-self:start}.date-block strong,.date-block span,.date-block small{display:block}.date-block strong{font-size:1.7rem}.operation-body h2{font-size:1.05rem;margin:.5rem 0}.operation-body>p{color:var(--text-muted);font-size:.8rem}.operation-body dl{display:grid;gap:.35rem}.operation-body dl div{display:grid;grid-template-columns:95px 1fr}.operation-body dt{font-size:.7rem;text-transform:uppercase;color:var(--text-muted)}.operation-body dd{margin:0;font-size:.82rem}.operation-card>a{grid-column:2;text-align:right;font-weight:700}.report-total{padding:1.5rem;background:linear-gradient(110deg,var(--qe-primary-dark),var(--qe-primary));color:white}.report-total span,.report-total strong{display:block}.report-total strong{font-size:2rem}.bar{width:120px;height:7px;border-radius:9px;background:#e6edf3;display:inline-block;margin-right:.4rem}.bar span{display:block;height:100%;border-radius:9px;background:var(--qe-primary)}.admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;margin-bottom:1rem}.tab-strip{display:flex;gap:.3rem;margin:1rem 0}.tab-strip button{border:0;background:transparent;padding:.7rem 1rem;border-radius:8px;color:var(--text-muted);font-weight:700}.tab-strip button.active{background:var(--qe-primary);color:white}.tab-panel{display:none}.tab-panel.active{display:block}.master-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem}.master-cards article{border:1px solid var(--border);border-radius:10px;padding:1rem}.master-cards h3{font-size:1rem}.master-cards ul{list-style:none;padding:0;margin:0}.master-cards li{display:flex;justify-content:space-between;padding:.55rem 0;border-top:1px solid var(--border)}.master-cards li span{color:var(--qe-success);font-size:.7rem}.login-shell{min-height:70vh;display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:center}.login-intro h1{font-size:3rem;letter-spacing:-.05em;margin:.5rem 0}.login-intro>p{font-size:1.1rem;color:var(--text-muted);line-height:1.7}.security-callout{background:var(--qe-primary-soft);border-left:4px solid var(--qe-primary);padding:1rem;border-radius:8px;margin-top:1.5rem;color:#194c78}.role-grid{display:grid;gap:.75rem}.role-card{display:grid;grid-template-columns:45px 1fr auto;gap:1rem;align-items:center;background:white;border:1px solid var(--border);border-radius:12px;padding:.9rem;box-shadow:var(--shadow)}.role-card:hover{border-color:#80b6e6;transform:translateY(-1px)}.role-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--qe-primary-soft);color:var(--qe-primary);font-weight:800}.role-card b,.role-card small,.role-card em{display:block}.role-card small{color:var(--qe-primary);font-weight:700}.role-card em{color:var(--text-muted);font-size:.75rem;font-style:normal}.empty-state{text-align:center;padding:4rem 1rem}.empty-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--qe-success-soft);color:var(--qe-success);font-size:1.5rem;margin:0 auto 1rem}.empty-inline{padding:2rem;color:var(--text-muted);text-align:center}.toast-note{position:fixed;right:2rem;top:88px;z-index:50;padding:.85rem 1rem;border-radius:10px;box-shadow:var(--shadow);font-weight:700}.success-note{background:var(--qe-success);color:#fff}.error-note{background:var(--danger);color:#fff}
@media(max-width:1100px){.top-nav{display:none}.app-header{justify-content:space-between}.stat-grid{grid-template-columns:repeat(3,1fr)}.form-section{grid-template-columns:48px 1fr}.form-section>:nth-child(n+3){grid-column:1/-1}.menu-layout{grid-template-columns:1fr}.order-summary{position:static}.detail-grid{grid-template-columns:1fr}.operations-grid{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){html{font-size:14px}.page-shell{width:92vw;padding-top:1.2rem}.user-chip>span:nth-child(2){display:none}.page-heading{align-items:flex-start;flex-direction:column}.stat-grid,.admin-stats{grid-template-columns:repeat(2,1fr)}.request-row{grid-template-columns:1fr 1fr}.request-row>*:nth-child(n+3){display:none}.form-section{grid-template-columns:1fr}.section-number{display:none}.form-grid,.menu-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.employee-card,.info-card{align-items:flex-start;flex-wrap:wrap}.employee-card dl,.info-card dl{grid-template-columns:repeat(2,1fr);margin:0;width:100%}.fact-grid{grid-template-columns:repeat(2,1fr)}.operations-grid{padding:.6rem}.operation-card{grid-template-columns:62px 1fr}.decision-bar{position:static;grid-template-columns:1fr}.decision-bar form{grid-template-columns:1fr 1fr}.decision-bar textarea{grid-column:1/-1}.login-shell{grid-template-columns:1fr;gap:2rem}.login-intro h1{font-size:2.3rem}.app-footer{flex-direction:column;gap:.3rem}.bottom-actions>span{display:none}.master-cards{grid-template-columns:1fr}}
