@font-face{font-family:Vazir;src:local(Tahoma)}*{box-sizing:border-box}body{margin:0;font-family:Vazir,Tahoma,Arial;background:#f4faf7;color:#183027}a{text-decoration:none;color:inherit}.layout{display:flex;min-height:100vh}.sidebar{width:250px;background:linear-gradient(180deg,#0c5a43,#083d31);color:#e8fff7;padding:22px 16px;position:sticky;top:0;height:100vh}.brand{font-size:20px;font-weight:800;margin-bottom:30px}.nav a{display:block;padding:12px 14px;border-radius:10px;margin:5px 0;color:#d5f5e9}.nav a:hover,.nav a.active{background:#e87522;color:#fff}.main{flex:1;padding:28px;max-width:1500px}.top{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.title h1{margin:0;font-size:25px}.muted{color:#668078}.card{background:#fff;border:1px solid #dfeee7;border-radius:15px;padding:20px;box-shadow:0 4px 16px #0b5b4310;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat strong{font-size:25px;display:block;margin-top:8px}.grid{display:grid;gap:16px}.two{grid-template-columns:repeat(2,1fr)}.three{grid-template-columns:repeat(3,1fr)}label{display:block;font-weight:700;font-size:14px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cfe2d9;border-radius:9px;margin-top:7px;background:#fff;font:inherit}textarea{min-height:90px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 16px;cursor:pointer;font:inherit}.primary{background:#0b8a63;color:#fff}.primary:hover{background:#087453}.danger{background:#d95b35;color:#fff}.secondary{background:#eaf4ef;color:#24463b}.full{width:100%}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 10px;border-bottom:1px solid #edf2ef;text-align:right;white-space:nowrap}.status{display:inline-block;border-radius:20px;padding:5px 10px;font-size:12px}.status-new{background:#e9f7f0;color:#087453}.status-confirmed{background:#e6f6ed;color:#067647}.status-processing{background:#fff0df;color:#b45309}.status-ready{background:#e6f4ee;color:#087453}.status-delivered{background:#edf3f0;color:#475467}.status-cancelled{background:#fee4e2;color:#b42318}.alert{padding:12px 14px;border-radius:10px;margin-bottom:15px}.ok{background:#e7f7ef;color:#087453}.err{background:#fee9e3;color:#b42318}.auth{display:grid;place-items:center;min-height:100vh;background:linear-gradient(135deg,#eaf8f1,#fff6ed)}.auth-card{width:min(720px,94vw);background:#fff;border-radius:18px;padding:30px;box-shadow:0 15px 50px #0b5b4320}.auth-card h1{text-align:center}.actions{display:flex;gap:8px;flex-wrap:wrap}.service-box{border:1px solid #e3eee9;border-radius:12px;padding:14px}.service-box h3{margin:0 0 6px}.price{font-weight:800;color:#e87522}.order-total{font-size:25px;font-weight:900;color:#0b8a63}.drop{border:2px dashed #b9d9ca;padding:22px;text-align:center;border-radius:12px;background:#fbfefd}.file-list{margin:8px 0;padding-right:18px}.small{font-size:12px}.modal-bg{display:none}.mobile-menu{display:none}.service-create{background:#f2faf6;border:1px solid #cfe8dc}.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.order-summary{position:sticky;top:20px}.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.service-choice{border:1px solid #cfe2d9;background:#fff;border-radius:13px;padding:15px;text-align:right;cursor:pointer;transition:.15s;font:inherit}.service-choice span{display:block;font-weight:800}.service-choice small{display:block;color:#e87522;margin-top:7px}.service-choice:hover{border-color:#0b8a63;transform:translateY(-1px)}.service-choice.selected{border:2px solid #0b8a63;background:#effaf5;box-shadow:0 5px 15px #0b8a6315}.selected-service{display:grid;grid-template-columns:1fr 240px;gap:15px;padding:15px 0;border-bottom:1px solid #e8f0ec;align-items:center}.selected-controls{display:flex;gap:10px;align-items:end}.selected-controls label{flex:1}.selected-controls .btn{margin-top:7px}.empty-order{text-align:center;padding:18px}.summary-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #edf2ef}.summary-row small{display:block;color:#668078;margin-top:4px}.summary-total{display:flex;justify-content:space-between;align-items:center;font-size:18px;padding:18px 0}.summary-total strong{font-size:24px;color:#e87522}@media(max-width:1050px){.order-layout{grid-template-columns:1fr}.order-summary{position:static}}@media(max-width:900px){.sidebar{display:none}.mobile-menu{display:block}.main{padding:16px}.stats,.three,.two{grid-template-columns:1fr}.top{align-items:flex-start;flex-direction:column}.auth-card{padding:20px}.selected-service{grid-template-columns:1fr}.selected-controls{align-items:end}}

/* Order screen: keep the browser page fixed; scroll only the order content when necessary. */
.main:has(.order-layout){height:100vh;overflow:hidden;display:flex;flex-direction:column}.main:has(.order-layout) .top{flex:0 0 auto}.main:has(.order-layout) .order-layout{flex:1 1 auto;min-height:0;height:auto;overflow:hidden}.main:has(.order-layout) .order-form-side{min-height:0;overflow-y:auto;padding-left:4px;padding-bottom:20px}.main:has(.order-layout) .order-summary{min-height:0;max-height:100%;overflow-y:auto}.main:has(.order-layout) .order-form-side .card{margin-bottom:12px}.main:has(.order-layout) .order-form-side textarea{min-height:65px}.main:has(.order-layout) .order-form-side .drop{padding:12px}.main:has(.order-layout) .order-form-side .btn.full{margin-top:12px}
@media(max-width:1050px){.main:has(.order-layout){height:auto;min-height:100vh;overflow:visible}.main:has(.order-layout) .order-layout{overflow:visible}.main:has(.order-layout) .order-form-side{overflow:visible}.main:has(.order-layout) .order-summary{max-height:none;overflow:visible}}

/* v1.0.11: compact, no-page-scroll order form layout */
@media(min-width:1051px){
  .main:has(.order-layout){height:100vh;overflow:hidden;padding:18px 24px;display:flex;flex-direction:column}
  .main:has(.order-layout) .top{margin-bottom:10px;flex:0 0 auto}
  .main:has(.order-layout) .order-layout{flex:1 1 auto;min-height:0;overflow:hidden;grid-template-columns:minmax(0,1fr) 300px;gap:14px}
  .main:has(.order-layout) .order-form-side{overflow:hidden;min-height:0;padding:0}
  .order-form-grid{height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr) minmax(0,1fr) 48px;gap:10px}
  .order-form-grid .order-section{margin:0;padding:12px;min-width:0;min-height:0;overflow:hidden}
  .order-form-grid .order-section h2{font-size:17px;margin:0 0 8px}
  .main-service-section select{margin-top:4px}
  .complementary-section .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:calc(100% - 32px);overflow:auto}
  .complementary-section .service-choice{padding:9px;font-size:12px}
  .complementary-section .service-choice small{margin-top:3px}
  .items-section #selectedServices{max-height:calc(100% - 32px);overflow:auto}
  .items-section .selected-service{grid-template-columns:1fr;gap:7px;padding:8px 0}
  .items-section .selected-controls{gap:6px}
  .items-section .selected-controls input{padding:7px 8px;margin-top:3px}
  .items-section .selected-controls .btn{padding:7px 9px;margin-top:3px}
  .order-details-row{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;min-height:0;overflow:hidden}
  .order-details-row label{display:flex;flex-direction:column;min-height:0}
  .order-details-row textarea{height:100%;min-height:0;resize:none;margin-top:4px}
  .order-details-row .drop{height:100%;padding:9px;display:flex;flex-direction:column;justify-content:center;min-height:0}
  .order-details-row .drop input{margin-top:7px}
  .order-submit{grid-column:1 / -1;margin:0!important;height:48px}
  .main:has(.order-layout) .order-summary{position:static;max-height:100%;overflow:auto;margin:0;padding:14px}
  .main:has(.order-layout) .order-summary h2{font-size:18px;margin-top:0}
  .main:has(.order-layout) .alert.ok{display:none}
}
@media(max-width:1050px){.order-form-grid{display:block}.order-form-grid>*{margin-bottom:12px}.order-details-row{display:block}.order-submit{margin-top:12px!important}}
/* v1.0.13: summary sits directly beside order items; complementary services use no page count */
@media(min-width:1051px){
  .main:has(.order-layout) .order-layout{grid-template-columns:minmax(0,1fr);}
  .main:has(.order-layout) .order-form-side{overflow:hidden;}
  .main:has(.order-layout) .order-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr) 300px;grid-template-rows:minmax(0,1fr) minmax(0,1fr) 48px;}
  .main:has(.order-layout) .order-form-grid .main-service-section{grid-column:1;grid-row:1;}
  .main:has(.order-layout) .order-form-grid .complementary-section{grid-column:2;grid-row:1;}
  .main:has(.order-layout) .order-form-grid .items-section{grid-column:3;grid-row:1;}
  .main:has(.order-layout) .order-form-grid .order-summary{grid-column:4;grid-row:1;position:static;max-height:100%;overflow:auto;margin:0;padding:14px;}
  .main:has(.order-layout) .order-form-grid .order-summary h2{font-size:18px;margin-top:0;}
  .main:has(.order-layout) .order-form-grid .order-details-row{grid-column:1 / 5;grid-row:2;}
  .main:has(.order-layout) .order-form-grid .order-submit{grid-column:1 / 5;grid-row:3;}
  .complementary-fixed{display:inline-flex;align-items:center;min-height:34px;padding:7px 9px;background:#f5faf7;border-radius:8px;}
}
/* v1.0.14: four-column order form */
@media (min-width:1051px){
  .main:has(.order-layout){height:100vh;overflow:hidden;padding:16px 22px;display:flex;flex-direction:column}
  .main:has(.order-layout) .top{margin-bottom:8px;flex:0 0 auto}
  .main:has(.order-layout) .order-layout{flex:1 1 auto;min-height:0;overflow:hidden;grid-template-columns:minmax(0,1fr)}
  .main:has(.order-layout) .order-form-side{min-height:0;overflow:hidden}
  .main:has(.order-layout) .order-form-grid{height:100%;display:grid;grid-template-columns:minmax(210px,1fr) minmax(270px,1.15fr) minmax(260px,1.1fr) minmax(230px,.9fr);grid-template-rows:minmax(0,1fr);gap:10px;align-items:stretch}
  .main:has(.order-layout) .order-form-grid>.order-section,.main:has(.order-layout) .order-form-grid>.order-summary{margin:0;min-width:0;min-height:0;overflow:hidden;padding:12px}
  .services-section{grid-column:1;grid-row:1;overflow-y:auto!important}
  .services-section h2{font-size:16px;margin:0 0 7px}
  .services-section .complementary-section{margin-top:16px;border-top:1px solid #e8f0ec;padding-top:12px}
  .complementary-section .service-grid{grid-template-columns:1fr;gap:7px;max-height:none;overflow:visible}
  .complementary-section .service-choice{padding:8px;font-size:12px}
  .items-section{grid-column:2;grid-row:1;overflow-y:auto!important}
  .items-section #selectedServices{max-height:none;overflow:visible}
  .items-section .selected-service{grid-template-columns:1fr;gap:6px;padding:8px 0}
  .items-section .selected-controls{gap:6px}
  .items-section .selected-controls input{padding:7px 8px;margin-top:3px}
  .items-section .selected-controls .remove-service{display:none}
  .order-details-column{grid-column:3;grid-row:1;display:flex;flex-direction:column;gap:10px}
  .order-details-column label{display:flex;flex-direction:column;min-height:0;flex:1}
  .order-details-column textarea{flex:1;min-height:90px;resize:none}
  .order-details-column .drop{flex:1;min-height:130px;display:flex;flex-direction:column;justify-content:center;padding:10px}
  .order-summary{grid-column:4;grid-row:1;position:static!important;max-height:100%;overflow-y:auto!important;display:flex;flex-direction:column}
  .order-summary h2{font-size:18px;margin:0 0 8px}
  .order-summary #summaryRows{overflow:auto;min-height:0}
  .order-summary .order-submit{margin-top:auto!important;height:48px;flex:0 0 48px}
}
@media(max-width:1050px){
  .order-form-grid{display:block!important;height:auto!important}
  .order-form-grid>*{margin-bottom:12px!important}
  .order-summary{position:static!important}
  .order-details-column{display:block}
}

/* v1.0.15: four visible columns + 75vh order area */
@media (min-width: 769px){
  .main:has(.order-layout){height:auto;min-height:100vh;overflow:hidden;padding:16px 22px}
  .main:has(.order-layout) .order-layout{display:block;overflow:visible;min-height:0}
  .main:has(.order-layout) .order-form-side{overflow:visible;min-height:0;padding:0}
  .main:has(.order-layout) .order-form-grid{
    width:100%;
    height:75vh;
    min-height:75vh;
    max-height:75vh;
    display:grid;
    grid-template-columns:minmax(210px,1fr) minmax(270px,1.15fr) minmax(260px,1.1fr) minmax(230px,.9fr);
    grid-template-rows:minmax(0,1fr);
    gap:10px;
    align-items:stretch;
    overflow:hidden;
  }
  .main:has(.order-layout) .order-form-grid>.order-section,
  .main:has(.order-layout) .order-form-grid>.order-summary{
    grid-row:1;
    margin:0;
    min-width:0;
    min-height:0;
    height:100%;
    overflow:hidden;
  }
  .main:has(.order-layout) .order-form-grid>.services-section{grid-column:1}
  .main:has(.order-layout) .order-form-grid>.items-section{grid-column:2}
  .main:has(.order-layout) .order-form-grid>.order-details-column{grid-column:3}
  .main:has(.order-layout) .order-form-grid>.order-summary{grid-column:4;position:static!important;overflow:auto;display:flex;flex-direction:column}
  .main:has(.order-layout) .order-summary #summaryRows{overflow:auto;min-height:0}
  .main:has(.order-layout) .order-summary .order-submit{margin-top:auto!important;flex:0 0 48px}
}
@media (max-width: 768px){
  .main:has(.order-layout){height:auto;min-height:100vh;overflow:visible}
  .main:has(.order-layout) .order-form-grid{height:auto;min-height:0;max-height:none;display:block;overflow:visible}
  .main:has(.order-layout) .order-form-grid>*{margin-bottom:12px!important;height:auto;min-height:0}
}

.finance-badge{display:inline-block;border-radius:20px;padding:5px 10px;font-size:12px;font-weight:700}.finance-settled{background:#e7f7ef;color:#087453}.finance-unsettled{background:#fff0df;color:#b45309}.four{grid-template-columns:repeat(4,1fr)}@media(max-width:1100px){.four{grid-template-columns:repeat(2,1fr)}}

/* v1.0.18: split login / school registration */
.auth-split{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(135deg,#eefaf4,#fff4e8)}
.auth-panel{display:flex;align-items:center;justify-content:center;padding:40px}.auth-info{background:linear-gradient(135deg,#087453,#16a085);color:#fff;text-align:center}.auth-info h1{font-size:46px;margin:0 0 12px}.auth-info h2{font-size:24px;margin:0 0 20px}.auth-info p{font-size:18px}.auth-logo{font-size:54px;margin-bottom:10px}.auth-login{background:#f8fbfa}.auth-login .auth-card{width:min(440px,100%);max-width:440px}.captcha-label span{display:inline-block;background:#eef6f1;border:1px solid #cde5d8;border-radius:8px;padding:8px 12px;margin:0 0 7px;font-weight:900;letter-spacing:1px;color:#087453}.captcha-label input{display:block;width:100%}
@media(max-width:760px){.auth-split{grid-template-columns:1fr}.auth-info{min-height:34vh;padding:28px}.auth-info h1{font-size:34px}.auth-info h2{font-size:18px}.auth-login{min-height:66vh;padding:24px}}

.captcha-refresh{display:inline-flex;align-items:center;justify-content:center;margin:0 6px;text-decoration:none;font-size:22px;vertical-align:middle}.captcha-refresh:hover{transform:rotate(180deg)}
