:root{--sp-ink:#101828;--sp-muted:#667085;--sp-line:#e4e7ec;--sp-surface:#fff;--sp-canvas:#f6f7fb;--sp-navy:#101b36;--sp-purple:#6957e8;--sp-purple-dark:#5142ca;--sp-coral:#ff725e;--sp-mint:#2fc7a2;--sp-radius:16px;--sp-shadow:0 12px 32px rgba(16,24,40,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Manrope',sans-serif!important;color:var(--sp-ink);background:var(--sp-canvas)!important;-webkit-font-smoothing:antialiased}.wrapper{margin-top:72px!important;overflow:visible!important;min-height:calc(100vh - 72px)}
.app-navbar{height:72px;padding:0 30px!important;background:rgba(255,255,255,.95)!important;border-bottom:1px solid rgba(228,231,236,.9);box-shadow:0 4px 18px rgba(16,24,40,.04);backdrop-filter:blur(12px)}.navbar-brand{display:flex;align-items:center;gap:11px;color:var(--sp-ink)!important}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--sp-purple),#8b7cf6);color:#fff;box-shadow:0 6px 14px rgba(105,87,232,.25);transform:rotate(-4deg)}.brand-mark i{font-size:15px}.brand-copy{font-size:20px;font-weight:800;line-height:18px;letter-spacing:-.6px}.brand-copy>span{color:var(--sp-purple)}.brand-copy small{display:block;margin-top:4px;font-size:8px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#98a2b3}.app-navbar .navbar-nav{align-items:center;gap:6px}.app-navbar .nav-link{color:#475467!important;font-size:13px;font-weight:700;padding:9px 13px!important;border-radius:9px}.app-navbar .nav-link:hover{background:#f2f0ff;color:var(--sp-purple)!important}.app-navbar .nav-register{background:var(--sp-purple);color:#fff!important;padding:10px 17px!important;box-shadow:0 6px 14px rgba(105,87,232,.22)}.app-navbar .nav-register:hover{background:var(--sp-purple-dark);color:#fff!important}.user-menu{display:flex;align-items:center;gap:8px}.user-avatar{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:9px;background:#f0edff;color:var(--sp-purple);font-weight:800}.dropdown-menu{border:1px solid var(--sp-line)!important;border-radius:12px!important;box-shadow:var(--sp-shadow)!important;padding:7px!important}.dropdown-item{font-size:13px;font-weight:600;padding:9px 12px;border-radius:7px}.dropdown-item:hover{background:#f4f2ff;color:var(--sp-purple)}
#sidebar{min-width:250px!important;max-width:250px!important;background:var(--sp-navy)!important;padding:16px 12px;border-right:0;box-shadow:8px 0 28px rgba(16,27,54,.08)}#sidebar .sidebar-header{padding:4px 4px 18px!important;background:transparent!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.sidebar-home{display:flex;align-items:center;gap:10px;padding:10px!important;color:#fff!important;text-align:left}.sidebar-home-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:rgba(105,87,232,.25);color:#a99ffc}.sidebar-home strong,.sidebar-home small{display:block}.sidebar-home strong{font-size:13px}.sidebar-home small{font-size:9px;color:#98a2b3;margin-top:2px}#sidebar ul.components{padding-top:16px!important}#sidebar ul li{padding:2px 0!important;font-size:13px!important}#sidebar ul li>a{padding:11px 12px;border-radius:9px;color:#b9c2d3!important;font-weight:600}#sidebar ul li>a i{width:22px;color:#8390a7}#sidebar ul li>a:hover,#sidebar ul li>a.active{background:rgba(105,87,232,.2)!important;color:#fff!important}#sidebar ul li>a.active i,#sidebar ul li>a:hover i{color:#a99ffc}#sidebar ul li .collapse{margin:3px 0 5px 18px;border-left:1px solid rgba(255,255,255,.1)}#sidebar ul li .collapse a{padding:9px 10px 9px 18px!important;background:transparent!important;font-size:12px!important;color:#95a1b5!important}#sidebar ul li .collapse a:hover,#sidebar ul li .collapse a.active{color:#fff!important;background:rgba(255,255,255,.06)!important}
#content{padding:30px!important;background:var(--sp-canvas)!important;min-width:0}.landing-page{padding:0!important;background:#fff!important}.container-fluid.g-color-black{background:#fff;border:1px solid var(--sp-line);border-radius:var(--sp-radius);padding:25px!important;box-shadow:0 2px 8px rgba(16,24,40,.03)}h1,h2,h3,h4,h5,h6{font-family:'Manrope',sans-serif;color:var(--sp-ink);letter-spacing:-.025em}.h3,h2.h3{font-size:24px;font-weight:800}.g-py-50{padding:0!important}.table-responsive{border:1px solid var(--sp-line);border-radius:12px;overflow:auto!important}.table{margin:0!important;color:#344054;background:#fff}.table thead th{border:0!important;border-bottom:1px solid var(--sp-line)!important;background:#f9fafb;color:#667085;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:13px 14px!important;white-space:nowrap}.table tbody td{border-top:1px solid #eef0f3!important;padding:13px 14px!important;font-size:12px}.table-striped tbody tr:nth-of-type(odd){background:#fff!important}.table tbody tr:hover{background:#fafbff!important}.table-bordered{border:0!important}.dark_column,.dark_column a{color:var(--sp-ink)!important;font-weight:700}.btn{border-radius:9px!important;font-weight:700!important;border:0!important;box-shadow:none!important;transition:transform .18s,box-shadow .18s,background .18s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--sp-purple)!important}.btn-success{background:var(--sp-mint)!important}.btn-info{background:#edf2ff!important;color:#455cc7!important}.btn-warning{background:#fff3e8!important;color:#b65c0a!important}.btn-danger{background:#fff0ef!important;color:#d92d20!important}.btn-secondary{background:#eef0f4!important;color:#475467!important}.btn-sm,.btn-info,.btn-primary,.btn-warning,.btn-danger,.btn-success{padding:7px 10px!important;font-size:11px!important}.badge{padding:5px 8px;border-radius:20px;font-weight:700}.badge-success{background:#e8f8f2;color:#148565}.badge-warning{background:#fff4e5;color:#b54708}.badge-secondary{background:#f2f4f7;color:#475467}.form-control,.custom-select,select.form-control{height:44px;border:1px solid #d0d5dd;border-radius:9px!important;background:#fff;font-size:13px;color:#344054;box-shadow:0 1px 2px rgba(16,24,40,.03)}textarea.form-control{height:auto}.form-control:focus{border-color:#8f80ef;box-shadow:0 0 0 4px rgba(105,87,232,.1)}label{font-size:12px;font-weight:700;color:#344054}.card,.modal-content,.login-card{border:1px solid var(--sp-line)!important;border-radius:var(--sp-radius)!important;box-shadow:var(--sp-shadow)!important}.modal-header{background:var(--sp-navy)!important;border-radius:15px 15px 0 0}.alert{border:0;border-radius:11px}.pagination .page-link{border-color:var(--sp-line);color:var(--sp-purple);font-size:12px}.page-item.active .page-link{background:var(--sp-purple);border-color:var(--sp-purple)}
.sp-hero{position:relative;overflow:hidden;min-height:690px;display:flex;align-items:center;background:linear-gradient(125deg,#101a36 0%,#18264a 58%,#242b59 100%);color:#fff}.sp-hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(to right,transparent,black)}.sp-hero-glow{position:absolute;border-radius:50%;filter:blur(15px);opacity:.36}.sp-hero-glow-one{width:420px;height:420px;background:#6957e8;right:-120px;top:-110px}.sp-hero-glow-two{width:260px;height:260px;background:#ff725e;left:35%;bottom:-190px}.sp-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.02fr;gap:70px;align-items:center;padding-top:76px;padding-bottom:76px}.sp-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:30px;background:rgba(255,255,255,.06);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#d7d4ff}.sp-eyebrow i{color:#ff8e7f}.sp-hero h1{margin:23px 0 22px;color:#fff;font-size:58px;line-height:1.03;font-weight:800;letter-spacing:-3px}.sp-hero h1 span{background:linear-gradient(90deg,#9c8fff,#ff8170);-webkit-background-clip:text;color:transparent}.sp-hero-copy>p{max-width:570px;font-size:17px;line-height:1.75;color:#c3cada}.sp-hero-actions{display:flex;align-items:center;gap:25px;margin:30px 0}.sp-btn-primary{padding:14px 19px!important;background:linear-gradient(135deg,#7968ed,#6555d8)!important;color:#fff!important;font-size:13px}.sp-btn-primary i{margin-left:10px}.sp-text-link{color:#d6dbea!important;font-size:12px;font-weight:700}.sp-text-link i{margin-left:7px}.sp-trust-row{display:flex;gap:22px;color:#9fa9bd;font-size:10px;font-weight:600}.sp-trust-row i{margin-right:5px;color:#62d2b4}.sp-dashboard-preview{transform:perspective(1200px) rotateY(-3deg) rotateX(1deg);background:#f7f8fc;border:1px solid rgba(255,255,255,.2);border-radius:18px;box-shadow:0 35px 70px rgba(0,0,0,.32);overflow:hidden;color:var(--sp-ink)}.sp-preview-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:48px;padding:0 17px;background:#fff;border-bottom:1px solid var(--sp-line);font-size:10px}.sp-preview-top>span{display:flex;gap:5px}.sp-preview-top>span i{width:7px;height:7px;border-radius:50%;background:#e3e6eb}.sp-preview-top strong{text-align:center}.sp-preview-top small{justify-self:end;color:#168665;background:#e9f8f2;padding:4px 7px;border-radius:10px}.sp-preview-body{padding:18px}.sp-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sp-stat{background:#fff;border:1px solid var(--sp-line);padding:15px;border-radius:11px}.sp-stat>span,.sp-stat>small{display:block;color:#7a8496;font-size:9px}.sp-stat strong{display:block;font-size:26px;margin:5px 0}.sp-stat small i{color:var(--sp-mint)}.sp-schedule{margin-top:13px;background:#fff;border:1px solid var(--sp-line);border-radius:11px;padding:15px}.sp-schedule-head{display:flex;justify-content:space-between;font-size:10px;margin-bottom:8px}.sp-schedule-head span{color:var(--sp-purple);font-weight:700}.sp-shift{display:grid;grid-template-columns:38px 8px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #eef0f3}.sp-time{font-size:9px;color:#8490a3}.sp-dot{width:7px;height:7px;border-radius:50%}.sp-dot.coral{background:var(--sp-coral)}.sp-dot.mint{background:var(--sp-mint)}.sp-dot.blue{background:#5a7ff0}.sp-shift div strong,.sp-shift div small{display:block}.sp-shift div strong{font-size:10px}.sp-shift div small{font-size:8px;color:#8b95a7;margin-top:3px}.sp-shift .badge{font-size:8px;background:#e9f8f2;color:#168665}.sp-shift .badge.upcoming{background:#f1efff;color:var(--sp-purple)}
.sp-features{padding:95px 0 105px;background:#fff}.sp-section-heading{text-align:center;max-width:650px;margin:0 auto 48px}.sp-section-heading>span{color:var(--sp-purple);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.sp-section-heading h2{font-size:38px;font-weight:800;line-height:1.14;margin:13px 0}.sp-section-heading p{color:var(--sp-muted);font-size:14px;line-height:1.65}.sp-feature-grid>div{display:flex}.sp-feature-card{position:relative;width:100%;padding:29px;border:1px solid var(--sp-line);border-radius:17px;background:#fff;transition:transform .25s,box-shadow .25s}.sp-feature-card:hover{transform:translateY(-6px);box-shadow:var(--sp-shadow)}.sp-feature-card.featured{border-color:#dcd6ff;box-shadow:0 15px 35px rgba(105,87,232,.1)}.sp-feature-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:13px;margin-bottom:26px;font-size:17px}.sp-feature-icon.purple{background:#f0edff;color:var(--sp-purple)}.sp-feature-icon.coral{background:#fff0ed;color:var(--sp-coral)}.sp-feature-icon.mint{background:#e9f9f5;color:#1cab87}.sp-feature-card>small{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#98a2b3}.sp-feature-card h3{font-size:18px;font-weight:800;margin:8px 0 12px}.sp-feature-card p{font-size:12px;color:var(--sp-muted);line-height:1.7;min-height:62px}.sp-feature-card a{color:var(--sp-purple);font-size:11px;font-weight:800}.sp-feature-card a i{margin-left:7px}.app-footer{padding:20px 30px!important;background:#0e1830!important;color:#98a2b3}.footer-inner{display:flex;align-items:center;justify-content:space-between}.footer-brand{display:flex;align-items:center;gap:10px;color:#fff!important;font-weight:800}.footer-brand .brand-mark{width:30px;height:30px;border-radius:8px}.app-footer p{margin:0;font-size:11px}.footer-meta{font-size:10px}
@media(max-width:991px){.app-navbar{padding:0 18px!important}.app-navbar .navbar-collapse{position:absolute;top:71px;left:12px;right:12px;padding:12px;background:#fff;border:1px solid var(--sp-line);border-radius:12px;box-shadow:var(--sp-shadow)}.app-navbar .navbar-nav{align-items:stretch}.sp-hero-grid{grid-template-columns:1fr;gap:45px}.sp-hero-copy{text-align:center}.sp-hero-copy>p{margin-left:auto;margin-right:auto}.sp-hero-actions,.sp-trust-row{justify-content:center}.sp-dashboard-preview{max-width:620px;margin:auto;transform:none}.sp-hero{min-height:auto}.sp-feature-card{padding:22px}#sidebar{position:fixed;z-index:1000;top:72px;bottom:0}#sidebar.active{margin-left:0!important}#content.active{margin-left:250px!important}}
@media(max-width:767px){#content{padding:18px!important}.landing-page{padding:0!important}.sp-hero-grid{padding:58px 20px}.sp-hero h1{font-size:42px;letter-spacing:-2px}.sp-hero-actions{flex-direction:column;gap:15px}.sp-trust-row{flex-wrap:wrap;gap:10px}.sp-dashboard-preview{width:100%}.sp-stats{grid-template-columns:1fr}.sp-preview-body{padding:10px}.sp-shift{grid-template-columns:34px 7px 1fr}.sp-shift>.badge{display:none}.sp-features{padding:65px 0}.sp-section-heading h2{font-size:30px}.sp-feature-grid>div{margin-bottom:16px}.footer-inner{flex-direction:column;gap:12px;text-align:center}.container-fluid.g-color-black{padding:18px!important}.d-flex.justify-content-between.align-items-center.mb-4{align-items:flex-start!important;gap:12px;flex-direction:column}.table-responsive{overflow-x:auto!important}.wrapper{overflow:hidden!important}}

/* Compact application shell and unified list typography */
#sidebar{min-width:214px!important;max-width:214px!important;padding:14px 10px!important;transition:margin-left .25s ease!important}
#sidebar.active{margin-left:-214px!important}
#sidebar ul li>a{padding:10px 11px!important;font-size:12px!important}
#sidebar ul li>a i{width:20px!important;font-size:12px}
.sidebar-home{padding:8px!important}.sidebar-home-icon{width:34px;height:34px}.sidebar-home strong{font-size:12px}.sidebar-home small{font-size:8px}
.sidebar-toggle{position:fixed;z-index:1002;left:198px;top:87px;display:flex!important;align-items:center;justify-content:center;width:31px;height:31px;padding:0!important;border:1px solid #dfe3eb!important;border-radius:50%!important;background:#fff!important;color:#596579!important;box-shadow:0 5px 14px rgba(16,24,40,.13)!important;transition:left .25s ease,transform .18s ease!important}
.sidebar-toggle:hover{color:var(--sp-purple)!important;transform:scale(1.05)!important}
.sidebar-collapsed .sidebar-toggle{left:14px}
#content{padding:34px 36px!important;transition:margin-left .25s ease!important}
#content>.container,#content>section>.container-fluid{max-width:1600px}
.container-fluid.g-color-black{padding:29px 30px!important}
.g-color-black,.g-color-black p,.g-color-black li,.modal-body{font-size:13px;line-height:1.55}
.h3,h2.h3{font-size:26px!important;line-height:1.25!important;margin-bottom:0!important}
.table{font-size:13px!important}.table thead th{font-size:11px!important;line-height:1.35!important;padding:14px 16px!important}.table tbody td{font-size:13px!important;line-height:1.45!important;padding:14px 16px!important}.table a,.dark_column,.dark_column a{font-size:13px!important}.table .btn{font-size:11px!important;line-height:1.2!important;white-space:nowrap}.table .btn:not(.btn-sm){padding:7px 10px!important}.table .badge{font-size:10px!important}
.dataTables_wrapper{font-size:12px;color:#667085}.dataTables_wrapper .row:first-child,.dataTables_wrapper .row:last-child{align-items:center;margin-top:0;margin-bottom:14px}.dataTables_wrapper .row:last-child{margin-top:16px;margin-bottom:0}.dataTables_length label,.dataTables_filter label{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:#667085}.dataTables_filter label{justify-content:flex-end}.dataTables_wrapper select.form-control{height:36px!important}.dataTables_filter input{height:38px!important;min-width:210px;margin-left:4px!important}.dataTables_info{font-size:12px!important;color:#667085;padding-top:0!important}
.modal-body h5{font-size:16px;font-weight:800}.modal-body .table th,.modal-body .table td{font-size:12px!important}.modal-title{font-size:16px!important}
@media(max-width:991px){#sidebar{min-width:214px!important;max-width:214px!important;margin-left:-214px!important}#sidebar.active{margin-left:0!important}#content.active{margin-left:214px!important}.sidebar-toggle{left:14px}.sidebar-collapsed .sidebar-toggle{left:198px}}
@media(max-width:767px){#content{padding:18px!important}.container-fluid.g-color-black{padding:19px!important}.h3,h2.h3{font-size:22px!important}.table thead th,.table tbody td{padding:12px 13px!important}.dataTables_filter label{justify-content:flex-start;margin-top:10px}.dataTables_filter input{min-width:0;flex:1}}

/* Sidebar readability */
#sidebar ul li>a{font-size:14px!important;line-height:1.35!important;font-weight:650!important}
#sidebar ul li>a i{font-size:14px!important;margin-right:2px}
#sidebar ul li .collapse a{font-size:13px!important;line-height:1.4!important;padding-top:10px!important;padding-bottom:10px!important}
.sidebar-home strong{font-size:13px!important}.sidebar-home small{font-size:9px!important}

/* Accessible, brand-colored dialog headers */
.modal-header{background:linear-gradient(135deg,var(--sp-purple),var(--sp-purple-dark))!important;border-bottom:0!important;color:#fff!important;padding:18px 22px!important}
.modal-header.bg-danger{background:linear-gradient(135deg,#e5484d,#c62f36)!important}
.modal-header .modal-title,.modal-header h1,.modal-header h2,.modal-header h3,.modal-header h4,.modal-header h5,.modal-header h6,.modal-header p,.modal-header span:not(.sr-only),.modal-header i{color:#fff!important;text-shadow:none!important}
.modal-header .modal-title{font-size:16px!important;font-weight:750!important;line-height:1.4!important;margin:0!important}
.modal-header .close{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:-6px -8px -6px auto!important;padding:0!important;border-radius:9px;color:#fff!important;opacity:.82!important;text-shadow:none!important;background:rgba(255,255,255,.1)!important}
.modal-header .close:hover,.modal-header .close:focus{color:#fff!important;opacity:1!important;background:rgba(255,255,255,.18)!important;outline:none}
.modal-content{overflow:hidden}

/* Resource assignment page: prevent nested-container layout drift */
.resource-assignment-page{width:100%;max-width:1440px!important;padding:8px 0 36px!important}
.resource-assignment-page>h2{text-align:left!important;font-size:26px!important;font-weight:800!important;margin:0 0 24px!important}
.resource-assignment-content{width:100%;margin-left:0!important;margin-right:0!important}
.resource-assignment-page .card{width:100%;margin-bottom:16px!important}
.resource-assignment-page .card-header{min-height:54px;padding:14px 18px!important;border-bottom:1px solid var(--sp-line);background:#f9fafc!important}
.resource-assignment-page .card-header h5,.resource-assignment-page .card-header .btn{margin:0!important;font-size:15px!important;line-height:1.4!important;color:var(--sp-ink)!important}
.resource-assignment-page .card-header .btn{justify-content:flex-start!important;padding:0!important}
.resource-assignment-page .card-body{padding:22px!important}
.resource-assignment-page fieldset{margin:22px 0;padding:22px;border:1px solid var(--sp-line);border-radius:12px;background:#fbfcfe}
.resource-assignment-page legend{width:auto;padding:0 8px;font-size:16px;font-weight:800;color:var(--sp-ink)}
.resource-assignment-page .form-control{width:100%}
.resource-assignment-page .list-group-item{gap:18px;flex-wrap:wrap;padding:14px 16px}
.resource-assignment-page .list-group-item .btn-group{display:flex;flex-wrap:wrap;gap:6px}
.resource-assignment-page .list-group-item .btn-group .btn{margin:0!important}
@media(max-width:767px){.resource-assignment-page{padding-top:0!important}.resource-assignment-page>h2{font-size:22px!important}.resource-assignment-page .card-body{padding:16px!important}.resource-assignment-page fieldset{padding:16px}.resource-assignment-page .list-group-item{align-items:flex-start!important}.resource-assignment-page .btn-group{width:100%}.resource-assignment-page .btn-group .btn{flex:1 1 auto}}
