:root{--rota-navy:#081c2e;--rota-blue:#0a66c2;--rota-cyan:#1ab8d4;--rota-green:#19a974;--rota-amber:#f2a93b;--rota-red:#d94b4b;--rota-paper:#f4f7fa;--rota-line:#dfe7ee;--rota-muted:#66788a;--rota-white:#fff}
.rota-portal,.rota-admin{color:var(--rota-navy);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.rota-portal{max-width:1180px;margin:0 auto;padding:44px 24px 70px}
.rota-portal *,.rota-admin *{box-sizing:border-box}
.rota-portal h1,.rota-portal h2,.rota-portal h3,.rota-admin h1,.rota-admin h2,.rota-admin h3{color:var(--rota-navy);line-height:1.15}
.rota-card{background:var(--rota-white);border:1px solid var(--rota-line);border-radius:18px;padding:26px;box-shadow:0 10px 35px rgba(8,28,46,.06);margin-bottom:22px}
.rota-card h2{margin-top:0;font-size:22px}
.rota-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.rota-card-head h2{margin:3px 0}
.rota-auth{display:grid;grid-template-columns:1.05fr .95fr;min-height:620px;gap:60px;align-items:center}
.rota-auth-intro{padding:40px 0}
.rota-auth-intro h1{font-size:48px;letter-spacing:-1.8px;margin:15px 0 20px}
.rota-auth-intro p{font-size:19px;line-height:1.7;color:var(--rota-muted);max-width:600px}
.rota-auth-intro ul{list-style:none;padding:0;margin:30px 0}
.rota-auth-intro li{padding:8px 0 8px 30px;position:relative}
.rota-auth-intro li:before{content:"✓";position:absolute;left:0;color:var(--rota-green);font-weight:800}
.rota-auth-panels{max-width:480px;width:100%}
.rota-eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--rota-blue)}
.rota-portal label,.rota-admin label{display:block;font-weight:650;margin:0 0 15px;color:#263d50}
.rota-portal input,.rota-portal select,.rota-portal textarea,.rota-admin input,.rota-admin select,.rota-admin textarea{display:block;width:100%;margin-top:7px;border:1px solid #ccd8e1;border-radius:9px;background:#fff;padding:11px 12px;min-height:42px;font:inherit;color:var(--rota-navy)}
.rota-portal input:focus,.rota-portal select:focus,.rota-portal textarea:focus,.rota-admin input:focus,.rota-admin select:focus,.rota-admin textarea:focus{outline:0;border-color:var(--rota-blue);box-shadow:0 0 0 3px rgba(10,102,194,.12)}
.rota-portal input[type=checkbox]{display:inline;width:auto;min-height:0}
.rota-portal input[type=submit],.rota-btn{display:inline-flex!important;width:auto!important;align-items:center;justify-content:center;border:0!important;border-radius:9px!important;background:linear-gradient(135deg,var(--rota-blue),#064986)!important;color:#fff!important;font-weight:750!important;padding:13px 20px!important;min-height:46px;text-decoration:none;cursor:pointer}
.rota-btn:hover{filter:brightness(1.08);color:#fff}
.rota-btn-small{padding:9px 14px!important;min-height:38px;font-size:14px}
.rota-forgot{display:inline-block;margin-top:10px;font-size:14px}
.rota-register summary{cursor:pointer;font-weight:750;color:var(--rota-blue)}
.rota-register[open] summary{margin-bottom:20px}
.rota-help{font-size:13px;color:var(--rota-muted)}
.rota-alert{padding:14px 17px;border-radius:10px;margin:0 0 22px;border:1px solid transparent}
.rota-alert-success{background:#eaf8f2;border-color:#b8ead5;color:#116c4b}
.rota-alert-error{background:#fff0f0;border-color:#f3c7c7;color:#9f2727}
.rota-portal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}
.rota-portal-top h1{font-size:35px;margin:8px 0 5px}
.rota-portal-top p{margin:0;color:var(--rota-muted)}
.rota-logout{color:var(--rota-muted);font-weight:650}
.rota-portal-nav{display:flex;gap:7px;border-bottom:1px solid var(--rota-line);margin-bottom:26px}
.rota-portal-nav a{padding:13px 17px;color:var(--rota-muted);text-decoration:none;font-weight:700;border-bottom:3px solid transparent}
.rota-portal-nav a.is-active{color:var(--rota-blue);border-color:var(--rota-blue)}
.rota-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:0 0 22px}
.rota-kpi{background:#fff;border:1px solid var(--rota-line);border-radius:14px;padding:20px;display:flex;flex-direction:column;box-shadow:0 7px 25px rgba(8,28,46,.04)}
.rota-kpi strong{font-size:31px;color:var(--rota-navy)}
.rota-kpi span{font-size:13px;color:var(--rota-muted);margin-top:5px}
.rota-table-wrap{overflow-x:auto}
.rota-table{border-collapse:collapse;width:100%}
.rota-table th{text-align:left;color:var(--rota-muted);font-size:12px;text-transform:uppercase;letter-spacing:.6px;padding:12px 11px;border-bottom:1px solid var(--rota-line)}
.rota-table td{padding:15px 11px;border-bottom:1px solid #edf1f4;vertical-align:middle}
.rota-table tbody tr:hover{background:#f8fafc}
.rota-ticket-no{font-weight:800;color:var(--rota-blue);text-decoration:none;white-space:nowrap}
.rota-badge,.rota-priority{display:inline-block;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;white-space:nowrap}
.rota-status-new{background:#eaf2ff;color:#225ca6}.rota-status-approved{background:#e8f8fb;color:#087991}.rota-status-started{background:#e8f8f0;color:#117750}.rota-status-paused{background:#fff3dd;color:#9b6410}.rota-status-completed{background:#eeeaff;color:#5840a2}.rota-status-closed{background:#e9edf0;color:#50606d}
.rota-priority-low{background:#edf1f4;color:#5d6d7a}.rota-priority-normal{background:#eaf2ff;color:#225ca6}.rota-priority-high{background:#fff1e1;color:#a55b00}.rota-priority-urgent{background:#ffe9e9;color:#b12929}
.rota-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}
.rota-full{grid-column:1/-1}
.rota-form-card{max-width:800px;margin-left:auto;margin-right:auto}
.rota-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:22px;align-items:start}
.rota-meta{display:flex;flex-wrap:wrap;gap:10px 24px;border-top:1px solid var(--rota-line);border-bottom:1px solid var(--rota-line);padding:15px 0;color:var(--rota-muted);font-size:14px}
.rota-meta b{color:var(--rota-navy)}
.rota-description{font-size:16px;line-height:1.75;padding-top:20px}
.rota-timeline{position:relative}
.rota-event{display:grid;grid-template-columns:20px 1fr;gap:12px;padding:0 0 22px;position:relative}
.rota-event:before{content:"";position:absolute;left:6px;top:12px;bottom:-3px;width:2px;background:var(--rota-line)}
.rota-event:last-child:before{display:none}
.rota-event-dot{width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:var(--rota-blue);box-shadow:0 0 0 2px #bcd5ef;margin-top:3px;z-index:1}
.rota-event-head{display:flex;justify-content:space-between;gap:15px}
.rota-event-head time{color:var(--rota-muted);font-size:12px}
.rota-event p{margin:8px 0 0;line-height:1.55}
.rota-event-status{margin-top:7px}
.rota-empty{text-align:center;color:var(--rota-muted);padding:34px}
.rota-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;background:#fff;border:1px solid var(--rota-line);border-radius:14px;padding:14px;margin:16px 0}
.rota-filters input,.rota-filters select,.rota-filters label{width:auto;min-width:160px;margin:0}
.rota-filters label input{margin-top:5px}
.rota-invite{margin-top:20px;padding:18px;border-radius:12px;background:#edf6ff;display:flex;flex-direction:column;gap:4px}
.rota-invite strong{font-size:25px;letter-spacing:2px;color:var(--rota-blue)}
.rota-invite small{color:var(--rota-muted)}
.rota-company-list{display:flex;flex-direction:column;gap:7px}
.rota-company-list a{display:flex;justify-content:space-between;gap:15px;text-decoration:none;border:1px solid var(--rota-line);border-radius:10px;padding:12px;color:var(--rota-navy)}
.rota-company-list a.is-active,.rota-company-list a:hover{border-color:#9fc9ef;background:#f0f7ff}
.rota-company-list span{display:flex;flex-direction:column;min-width:0}.rota-company-list small{color:var(--rota-muted);overflow:hidden;text-overflow:ellipsis}.rota-company-list b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eaf2ff;color:var(--rota-blue)}
.rota-contact-wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}
.rota-contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:52px;align-items:start}
.rota-contact-copy{padding:30px 10px 0 0}.rota-contact-copy h2{font-size:clamp(34px,4vw,50px);line-height:1.08;letter-spacing:-1.8px;margin:16px 0 20px}.rota-contact-copy>p{font-size:17px;line-height:1.75;color:var(--rota-muted)}
.rota-direct-contact{display:grid;gap:10px;margin-top:28px}.rota-direct-contact a{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--rota-line);border-radius:12px;background:#fff;padding:14px 16px}.rota-direct-contact a:hover{border-color:#a8cdeb;background:#f7fbff}.rota-direct-contact span{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--rota-muted);font-weight:800}.rota-direct-contact strong{color:var(--rota-navy);font-size:17px;margin-top:3px}
.rota-contact-panels{display:grid;grid-template-columns:1.12fr .88fr;gap:16px}.rota-form-panel{background:#fff;border:1px solid var(--rota-line);border-radius:18px;padding:25px;box-shadow:0 12px 38px rgba(8,28,46,.07)}.rota-form-panel h3{font-size:22px;margin:11px 0 5px}.rota-form-panel>p{color:var(--rota-muted);font-size:14px;margin:0 0 20px}.rota-form-icon{width:45px;height:45px;border-radius:13px;background:#eaf5ff;color:var(--rota-blue);display:grid;place-items:center;font-size:21px}.rota-callback-panel{background:linear-gradient(155deg,#0a2940,#071b2b);border-color:#173e59;color:#fff}.rota-callback-panel h3,.rota-callback-panel label{color:#fff}.rota-callback-panel>p{color:#9fb6c5}.rota-callback-panel .rota-form-icon{background:rgba(32,189,214,.16);color:#50d6e8}.rota-callback-panel input,.rota-callback-panel select,.rota-callback-panel textarea{background:rgba(255,255,255,.08);border-color:#35536a;color:#fff}.rota-callback-panel select option{color:#071b2b;background:#fff}.rota-btn-callback{background:linear-gradient(135deg,#19b66b,#0c8e52)!important}
.rota-form-panel label{display:block;font-weight:700;margin:0 0 14px;color:#263d50}.rota-form-panel input,.rota-form-panel select,.rota-form-panel textarea{display:block;width:100%;margin-top:6px;border:1px solid #ccd8e1;border-radius:9px;background:#fff;padding:10px 11px;min-height:42px;font:inherit;color:var(--rota-navy)}.rota-form-panel textarea{resize:vertical;line-height:1.5}.rota-form-panel input:focus,.rota-form-panel select:focus,.rota-form-panel textarea:focus{outline:0;border-color:var(--rota-blue);box-shadow:0 0 0 3px rgba(10,102,194,.12)}
.rota-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.rota-contact-admin-form{display:grid;grid-template-columns:180px minmax(260px,1fr) auto;gap:12px;align-items:end;border-top:1px solid var(--rota-line);margin-top:20px;padding-top:18px}.rota-contact-admin-form label{margin:0!important}.rota-contact-admin-form .button{min-height:42px}
.rota-admin{padding-right:20px}.rota-admin>h1{font-weight:800;margin:22px 0}.rota-admin .button-hero{width:100%;text-align:center}.rota-admin .rota-card form>label{margin-bottom:15px}
@media(max-width:1000px){.rota-contact-grid{grid-template-columns:1fr;gap:25px}.rota-contact-copy{max-width:700px}.rota-contact-panels{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.rota-auth{grid-template-columns:1fr;gap:10px}.rota-auth-intro{padding-bottom:10px}.rota-auth-panels{max-width:none}.rota-detail-grid{grid-template-columns:1fr}.rota-kpis{grid-template-columns:1fr 1fr}.rota-auth-intro h1{font-size:38px}.rota-contact-admin-form{grid-template-columns:1fr}}
@media(max-width:700px){.rota-contact-panels{grid-template-columns:1fr}.rota-contact-wrap{width:min(100% - 28px,1180px)}}
@media(max-width:600px){.rota-portal{padding:28px 15px 50px}.rota-kpis{grid-template-columns:1fr 1fr;gap:10px}.rota-kpi{padding:15px}.rota-kpi strong{font-size:25px}.rota-form-grid{grid-template-columns:1fr}.rota-portal-top{align-items:flex-start}.rota-portal-nav{overflow-x:auto}.rota-auth-intro h1{font-size:33px}.rota-card{padding:19px;border-radius:14px}.rota-card-head{flex-direction:column}.rota-event-head{flex-direction:column;gap:2px}.rota-contact-copy h2{font-size:34px}.rota-form-panel{padding:20px}}
