/* Shared visual theme. Existing application logic and layout classes remain. */
@media screen {
 body.project-modern {
  --blue:#0066ff; --blue2:#0052cc; --navy:#243a72; --bg:#e7ebf0;
  --card:#fff; --text:#303943; --muted:#707b88; --line:#e2e8f0;
  background:linear-gradient(135deg,#2a2a72 0%,#009ffd 100%) fixed !important;
  min-height:100vh; isolation:isolate;
 }
 body.project-modern.dark { --card:#202b3b; --text:#eef3fb; --muted:#b3bfd1; --line:#3b4a60; }
 .modern-floating-bg { position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
 .modern-floating-bg span { position:absolute; border-radius:50%; background:rgba(255,255,255,.12); box-shadow:15px 15px 30px rgba(0,0,0,.12),-15px -15px 30px rgba(255,255,255,.1); animation:modernFloat 6s ease-in-out infinite; }
 .modern-floating-bg span:nth-child(1) { width:190px; height:190px; top:7%; left:7%; }
 .modern-floating-bg span:nth-child(2) { width:130px; height:130px; bottom:8%; right:8%; animation-delay:-1.5s; }
 .modern-floating-bg span:nth-child(3) { width:55px; height:55px; top:22%; right:20%; animation-delay:-3s; }
 .project-modern .topbar { background:rgba(25,35,92,.65); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-bottom:1px solid rgba(255,255,255,.18); }
 .project-modern .shell { grid-template-columns:312px minmax(0,1fr); background:transparent; }
 .project-modern .sidebar { top:92px; height:calc(100vh - 108px); width:280px; margin:16px; border:1px solid rgba(255,255,255,.18); border-radius:24px; background:rgba(255,255,255,.1); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); box-shadow:0 8px 32px rgba(0,0,0,.15); overflow:hidden; transition:width .3s ease,transform .3s ease; }
 .project-modern .sidebar nav { flex:1; min-height:0; overflow-y:auto; padding:8px 15px 16px; scrollbar-width:thin; }
 .modern-sidebar-brand { display:flex; align-items:center; gap:12px; padding:20px; color:#fff; font-weight:700; text-decoration:none; }
 .modern-sidebar-brand img { width:44px; height:44px; object-fit:contain; background:rgba(255,255,255,.9); border-radius:12px; }
 .modern-sidebar-brand b { font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
 .project-modern .sidebar .nav-caption { color:rgba(255,255,255,.7); font-size:10px; letter-spacing:1px; }
 .project-modern .sidebar .nav-link { position:relative; border-radius:16px; color:#fff; margin:0 0 8px; padding:12px 14px; font-size:14px; background:transparent; transition:background .2s ease,transform .2s ease,box-shadow .2s ease; }
 .project-modern .sidebar .nav-link:hover { background:rgba(255,255,255,.2); transform:translateX(3px); box-shadow:inset 0 0 0 1px rgba(255,255,255,.3); }
 .project-modern .sidebar .nav-link.active { background:rgba(255,255,255,.25); color:#fff; }
 .project-modern .sidebar .nav-link.active::before { content:''; position:absolute; left:-15px; top:50%; transform:translateY(-50%); width:4px; height:20px; background:#36cfff; border-radius:0 4px 4px 0; }
 .project-modern .sidebar .nav-icon { background:rgba(255,255,255,.16); color:#fff; min-width:26px; height:26px; }
 .project-modern .sidebar .nav-arrow { color:rgba(255,255,255,.65); }
 .modern-sidebar-profile { display:flex; align-items:center; gap:12px; margin:8px 12px; padding:12px; border-radius:16px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.08); color:#fff; }
 .modern-sidebar-profile .avatar { background:rgba(255,255,255,.2); color:#fff; border:2px solid rgba(255,255,255,.3); flex-shrink:0; }
 .modern-sidebar-profile .profile-text { min-width:0; }
 .modern-sidebar-profile b,.modern-sidebar-profile small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
 .modern-sidebar-profile b { font-size:14px; } .modern-sidebar-profile small { font-size:11px; opacity:.8; margin-top:3px; }
 .project-modern .theme-toggle { color:#fff; border:1px solid rgba(255,255,255,.2); border-radius:12px; background:rgba(255,255,255,.15); margin:0 12px 12px; padding:10px 12px; text-align:center; flex-shrink:0; }
 .modern-close-sidebar { display:none; }
 .project-modern .content { background:transparent; }
 .project-modern .page-head h1,.project-modern .page-head .muted { color:#fff; }
 .project-modern .card { border-radius:20px; }
 .project-modern .service-card { position:relative; border-radius:20px; }
 /* Glass surfaces across Admin, User and Operator content pages. */
 body.project-modern:not(.auth-modern) {
  --card:rgba(255,255,255,.12); --text:#f5f8ff; --muted:#d1ddf0; --line:rgba(255,255,255,.2);
 }
 body.project-modern.dark:not(.auth-modern) {
  --card:rgba(14,27,53,.55); --text:#f5f8ff; --muted:#c1cee4; --line:rgba(255,255,255,.18);
 }
 .project-modern .content .card {
  background:var(--card); color:var(--text); border:1px solid var(--line);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  box-shadow:0 8px 28px rgba(0,0,0,.12);
 }
 .project-modern .content .card:hover { border-color:rgba(255,255,255,.32); }
 .project-modern .content label,.project-modern .content .card h1,
 .project-modern .content .card h2,.project-modern .content .card h3,
 .project-modern .content .card strong { color:#f5f8ff; }
 .project-modern .content .muted,.project-modern .content .small,
 .project-modern .content .service-card p,.project-modern .content .stat span { color:var(--muted); }
 .project-modern .content input,.project-modern .content select,.project-modern .content textarea {
  background:rgba(18,42,85,.3); color:#fff; border:1px solid rgba(255,255,255,.25);
  border-radius:12px; color-scheme:dark;
 }
 .project-modern .content input::placeholder,.project-modern .content textarea::placeholder { color:#c7d4e8; opacity:1; }
 .project-modern .content input:focus,.project-modern .content select:focus,.project-modern .content textarea:focus {
  border-color:#79d6ff; box-shadow:0 0 0 3px rgba(121,214,255,.16);
 }
 .project-modern .content select option,.project-modern .content select optgroup { background:#20385e; color:#fff; }
 .project-modern .content input:disabled,.project-modern .content textarea:disabled { opacity:.65; }
 .project-modern .content .table-wrap { background:transparent; border-color:var(--line); border-radius:14px; }
 .project-modern .content table { background:transparent; color:#f5f8ff; }
 .project-modern .content th { background:rgba(16,34,76,.32); color:#e3edff; border-color:var(--line); }
 .project-modern .content td { background:transparent; color:#f5f8ff; border-color:rgba(255,255,255,.13); }
 .project-modern .content tr:hover td { background:rgba(255,255,255,.06); }
 .project-modern .content .service-icon { background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.2); color:#fff; }
 .project-modern .content .banner-art { background:rgba(255,255,255,.08); color:#fff; }
 .project-modern .content .btn-light { background:rgba(255,255,255,.14); color:#fff; border-color:var(--line); }
 .project-modern .profile-dropdown { background:#23365a; color:#fff; border-color:rgba(255,255,255,.2); }
 .project-modern .profile-dropdown a:hover { background:rgba(255,255,255,.12); color:#fff; }
 .project-modern .notification-dialog { background:#23365a; color:#fff; }
 .project-modern .sidebar .nav-link:focus-visible { outline:2px solid #fff; outline-offset:-2px; }
 /* Same rounded login / registration style, using this project's own fields. */
 body.project-modern.auth-modern { --bg:#e7ebf0; --text:#303943; --muted:#7c858e; --login-text:#303943; --login-muted:#7c858e; --login-cyan:#087cff; --login-cyan-soft:#087cff; --login-bg:#e7ebf0; --login-panel:#e7ebf0; --login-field:#e7ebf0; --login-line:#cbd5e1; --cyan:#087cff; --card:#e7ebf0; }
 .auth-modern .secure-login,.auth-modern .reg-page,.auth-modern .auth-page { background:transparent !important; overflow:visible; min-height:100vh; }
 .auth-modern .secure-login::before,.auth-modern .secure-login::after,.auth-modern .reg-page::before,.auth-modern .reg-page::after,.auth-modern .login-card::before,.auth-modern .login-card::after,.auth-modern .reg-card::before,.auth-modern .reg-card::after { display:none; }
 .auth-modern .login-card,.auth-modern .reg-card,.auth-modern .auth-box { background:rgba(231,235,240,.97) !important; color:#303943; border:1px solid rgba(255,255,255,.3) !important; border-radius:35px; box-shadow:0 12px 40px rgba(0,0,0,.16) !important; animation:modernCardEnter .6s ease both; }
 .auth-modern .login-card { width:min(100%,400px); padding:38px 30px 28px; }
 .auth-modern .reg-page { grid-template-columns:minmax(0,1fr); }
 .auth-modern .reg-card { width:100%; max-width:740px; min-width:0; justify-self:center; padding:32px; }
 .auth-modern .reg-grid,.auth-modern .form-group,.auth-modern .otp-row { min-width:0; }
 .auth-modern .reg-card input { min-width:0; }
 .auth-modern .reg-card label,.auth-modern .auth-box label { color:#596776; }
 .auth-modern .reg-card .btn { white-space:normal; text-align:center; }
 .auth-modern .login-mark,.auth-modern .reg-mark { width:80px; height:80px; border:0; border-radius:50%; background:#e7ebf0; color:#087cff; box-shadow:9px 9px 18px rgba(163,177,198,.6),-9px -9px 18px rgba(255,255,255,.9); }
 .auth-modern .login-mark img,.auth-modern .reg-mark img { width:100%; height:100%; object-fit:contain; border-radius:inherit; padding:6px; }
 .auth-modern h1,.auth-modern h2 { color:#303943; }
 .auth-modern .login-card h1 { font-size:25px; }
 .auth-modern .reg-head p,.auth-modern .login-subtitle,.auth-modern .footer-copy,.auth-modern .security-note,.auth-modern .auth-back { color:#7c858e; }
 .auth-modern input:not([type=hidden]),.auth-modern select { color:#303943; background:#e7ebf0; border:0; border-radius:16px; min-height:54px; box-shadow:inset 6px 6px 12px rgba(163,177,198,.55),inset -6px -6px 12px rgba(255,255,255,.95); }
 .auth-modern .input-shell input { padding-left:45px; padding-right:62px; }
 .auth-modern input:focus,.auth-modern select:focus { outline:2px solid #087cff; outline-offset:2px; }
 .auth-modern .field-icon { color:#087cff; } .auth-modern .field-icon svg { fill:currentColor; }
 .auth-modern .password-toggle { color:#087cff; background:transparent; border:0; }
 .auth-modern .btn { color:#006cff; background:#e7ebf0; border:0; border-radius:17px; min-height:52px; box-shadow:8px 8px 16px rgba(163,177,198,.6),-8px -8px 16px rgba(255,255,255,.9); transition:background .3s ease,color .3s ease,transform .3s ease; }
 .auth-modern .btn:hover { color:#fff; background:linear-gradient(110deg,#006cff,#00cfff); transform:translateY(-2px); }
 .auth-modern a { color:#006cff; }
 .auth-modern .user-id-preview { background:rgba(255,255,255,.5); color:#526273; border-color:#ced8e4; overflow-wrap:anywhere; }
 .auth-modern .user-id-preview b { color:#087cff; }
 .auth-modern .auth-hero { display:none; } .auth-modern .auth-page { display:block; }
 .auth-modern .auth-panel { min-height:100vh; }
 .modern-password-group { position:relative; }
 .modern-password-group input { padding-right:65px !important; }
 .modern-password-switch { position:absolute; right:10px; bottom:13px; background:transparent; color:#087cff; border:0; cursor:pointer; font:inherit; font-size:12px; }
 @keyframes modernFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-18px); } }
 @keyframes modernCardEnter { from { opacity:0; transform:rotateY(-12deg) translateY(10px); } to { opacity:1; transform:none; } }
 @media (min-width:761px) {
  .project-modern.desktop-compact .shell { grid-template-columns:112px minmax(0,1fr); }
  .project-modern.desktop-compact .sidebar { width:80px; }
  .desktop-compact .modern-sidebar-brand { padding:18px; }
  .desktop-compact .modern-sidebar-brand b,.desktop-compact .sidebar .nav-caption,.desktop-compact .sidebar .nav-link>span:not(.nav-icon),.desktop-compact .profile-text { display:none; }
  .desktop-compact .modern-sidebar-profile { padding:5px; justify-content:center; }
  .desktop-compact .sidebar .nav-link { padding:12px 10px; }
  .desktop-compact .theme-toggle { font-size:0; } .desktop-compact .theme-toggle>span { font-size:20px; }
 }
 @media (max-width:760px) {
  .project-modern .shell { display:block; }
  .project-modern .sidebar { position:fixed; top:12px; bottom:12px; height:auto; margin:0; left:16px; width:280px; max-width:calc(100vw - 32px); z-index:70; transform:translateX(calc(-100% - 32px)); background:rgba(30,57,120,.9); }
  .project-modern.menu-open .sidebar { transform:translateX(0); }
  .modern-close-sidebar { display:block; position:absolute; right:10px; top:8px; width:28px; height:28px; border:0; border-radius:50%; background:rgba(255,255,255,.15); color:#fff; font-size:22px; cursor:pointer; }
  .project-modern .overlay { inset:0; z-index:65; }
  .project-modern .modern-sidebar-brand { padding-top:30px; }
  .project-modern .grid-4:has(.service-card) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .project-modern .service-card { padding:16px 12px; } .project-modern .service-card h3 { font-size:14px; }
  .auth-modern .login-card { padding:30px 24px; } .auth-modern .reg-card { padding:28px 20px; }
  .auth-modern .reg-actions { display:flex; flex-direction:column; align-items:stretch; }
  .auth-modern .reg-actions .btn,.auth-modern .otp-row .btn { width:100%; max-width:100%; min-width:0; }
  .modern-floating-bg span:nth-child(1) { width:120px; height:120px; }
 }
 @media (prefers-reduced-motion:reduce) { .modern-floating-bg span,.auth-modern .login-card,.auth-modern .reg-card { animation:none; } .project-modern .sidebar,.project-modern .nav-link,.auth-modern .btn { transition:none; } .project-modern .nav-link:hover,.auth-modern .btn:hover { transform:none; } }
}
@media print { .modern-floating-bg,.modern-sidebar-brand,.modern-sidebar-profile,.modern-close-sidebar { display:none !important; } .project-modern .sidebar,.project-modern .topbar,.project-modern .overlay { display:none !important; } .project-modern .shell { display:block; } .project-modern .content { padding:0; } }
