:root{--navy:#102033;--navy2:#1a3451;--navy3:#234463;--orange:#ff8500;--orange-dark:#ba5f00;--canvas:#f4f7fb;--paper:#fff;--line:#e3e9f2;--text:#172941;--muted:#718096;--blue:#2563eb;--green:#15845b;--red:#ba3b4e;--shadow:0 6px 26px rgba(15,32,56,.035);--radius:16px;font-family:Inter,'Segoe UI',system-ui,-apple-system,Arial,sans-serif;font-size:14px;color:var(--text)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--canvas);min-height:100dvh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ff9e37;outline-offset:3px}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-.9px;line-height:1.18;margin-bottom:0}h2{font-size:17px;letter-spacing:-.36px;margin-bottom:0}h3{font-size:13px;margin-bottom:12px}p{line-height:1.58}small,.subtle{font-size:12px;color:var(--muted);line-height:1.5}.subtle{margin:0}.eyebrow{font-size:10px;letter-spacing:1.75px;font-weight:800;color:#99a8bb;margin-bottom:10px}.required{color:var(--red)}.divider{height:1px;background:var(--line);margin:8px 0}.hidden{display:none!important}.align-end{display:flex;justify-content:flex-end;gap:8px}.actions-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mt-2{margin-top:14px!important}.mb-2{margin-bottom:16px!important}.empty{padding:45px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;color:#8c9caf}.empty strong{color:var(--text)}.empty p{font-size:12px;margin:0}.i{display:inline-block;vertical-align:middle;flex:none}
/* icon-only actions and contextual discoverability */
.action-icon,.nav-icon,.mobile-navitem{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;vertical-align:middle;min-width:43px;min-height:43px;width:43px;height:43px;border:1px solid var(--line);background:var(--paper);border-radius:12px;color:#38506c;transition:background .16s,color .16s,border-color .16s,transform .16s,box-shadow .16s}.action-icon:hover{background:#eef5fc;color:#173d66;border-color:#cddbec;transform:translateY(-1px)}.action-icon.primary,.action-icon.emphasis{background:var(--orange);border-color:var(--orange);color:#102033;box-shadow:0 6px 15px #ff85001b}.action-icon.primary:hover,.action-icon.emphasis:hover{background:#ffa032;box-shadow:0 8px 18px #ff850030}.action-icon.success{background:#eaf8f1;border-color:#b9e9d1;color:var(--green)}.action-icon.warning{background:#fff4e4;border-color:#f6d49e;color:#a85d08}.action-icon.danger{color:var(--red);border-color:#f2ced5}.action-icon.on-dark{background:#ffffff18;color:#fff;border-color:#ffffff40}.action-icon.big{width:56px;height:56px}.action-icon.xl{width:52px;height:52px}.action-icon[data-tip]::after,.nav-icon[data-tip]::after,.attach-inline[data-tip]::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px);padding:8px 10px;max-width:260px;width:max-content;white-space:nowrap;background:#102033;color:white;border-radius:8px;font-size:11px;font-weight:600;line-height:1.2;letter-spacing:0;box-shadow:0 7px 22px #10203338;opacity:0;pointer-events:none;z-index:80;transition:opacity .16s,transform .16s}.action-icon[data-tip]:hover::after,.action-icon[data-tip]:focus-visible::after,.nav-icon[data-tip]:hover::after,.nav-icon[data-tip]:focus-visible::after,.attach-inline[data-tip]:hover::after,.attach-inline[data-tip]:focus-within::after,.hint-visible[data-tip]::after{opacity:1;transform:translate(-50%,0)}.action-icon[data-tip]::before,.nav-icon[data-tip]::before{content:'';position:absolute;bottom:calc(100% + 2px);left:calc(50% - 5px);border:5px solid transparent;border-top-color:#102033;opacity:0;pointer-events:none;z-index:79}.action-icon[data-tip]:hover::before,.action-icon[data-tip]:focus-visible::before,.nav-icon[data-tip]:hover::before,.nav-icon[data-tip]:focus-visible::before,.hint-visible[data-tip]::before{opacity:1}
/* application layout */
.app-shell{display:flex;min-height:100dvh}.rail{width:82px;flex:0 0 82px;background:linear-gradient(185deg,#102033,#172f4a);display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 10px;position:fixed;inset:0 auto 0 0;z-index:35;box-shadow:5px 0 32px #1020330b;overflow:visible}.rail-brand{width:52px;height:52px;border-radius:14px;background:linear-gradient(140deg,#ffac51,#ff8500);display:grid;place-items:center;color:#102033;position:relative}.rail-divider{width:33px;height:1px;background:#ffffff2e;margin:6px 0}.rail-links{width:100%;display:flex;flex-direction:column;align-items:center;gap:7px;overflow-y:auto;scrollbar-width:none}.rail-links::-webkit-scrollbar{display:none}.nav-icon{width:49px;height:49px;border:none;background:transparent;color:#a9b8c9;border-radius:12px}.nav-icon:hover,.nav-icon:focus-visible{background:#ffffff16;color:white}.nav-icon.active{background:var(--orange);color:#102033;box-shadow:0 6px 16px #ff850031}.nav-icon[data-tip]::after{left:calc(100% + 17px);bottom:50%;transform:translateY(50%);min-width:88px;text-align:center}.nav-icon[data-tip]:hover::after,.nav-icon[data-tip]:focus-visible::after{transform:translateY(50%)}.nav-icon[data-tip]::before{left:calc(100% + 3px);bottom:calc(50% - 6px);transform:rotate(90deg)}.nav-text{display:none}.rail-bottom{margin-top:auto}.rail-bottom .action-icon{background:#ffffff0d;border:1px solid #ffffff20;color:#eabfc2}.rail-bottom .action-icon:hover{background:#ffffff1f}.body-wrap{margin-left:82px;width:calc(100% - 82px);min-width:0;display:flex;flex-direction:column}.topbar{height:75px;position:sticky;top:0;z-index:28;background:#fffc;border-bottom:1px solid var(--line);backdrop-filter:blur(12px);display:flex;align-items:center;gap:22px;padding:0 clamp(18px,3vw,42px)}.top-brand{display:flex;align-items:center;gap:9px;color:var(--navy);font-size:15px;letter-spacing:-.25px}.top-brand>svg{color:#dd6f00}.top-meta{border-left:1px solid var(--line);padding-left:22px;display:flex;align-items:center;gap:9px;font-size:11px;color:#64748b}.online-indicator,.live-dot::before{display:inline-block;width:7px;height:7px;border-radius:50%;background:#18ac80;box-shadow:0 0 0 3px #18ac8020}.top-right{margin-left:auto;display:flex;align-items:center;gap:13px}.top-campus{font-size:11px;font-weight:650;color:#687a8e}.user-avatar{display:grid;place-items:center;width:39px;height:39px;background:linear-gradient(130deg,#fca33c,#be6410);color:white;font-weight:800;border-radius:50%;box-shadow:0 3px 11px #ed8c3230}.topbar .action-icon{border:none;background:transparent}.topbar .has-unread::before{content:'';position:absolute;right:5px;top:6px;border:3px solid white;width:8px;height:8px;border-radius:50%;background:var(--orange);z-index:2}.app-content{width:100%;max-width:1720px;padding:30px clamp(16px,3vw,42px) 35px;margin:0 auto;min-height:calc(100dvh - 116px)}.app-footer{font-size:11px;color:#9daabd;text-align:center;margin:auto 0 0;padding:5px 16px 22px}.page-top{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:0 0 24px}.page-date{font-size:12px;font-weight:600;color:#8795a9}.mobile-menu,.mobile-bottom,.mobile-scrim{display:none}
/* cards */
.panel{min-width:0;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px;min-width:0}.panel-head>div{min-width:0}.panel-head h2{font-size:15px;font-weight:750}.panel-head p{margin-top:6px}.welcome-panel{background:radial-gradient(circle at 95% 14%,#42668b99,transparent 38%),linear-gradient(120deg,#102033,#1d4265);border-radius:18px;min-height:174px;color:white;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:32px 33px;margin-bottom:22px;overflow:hidden;position:relative}.welcome-panel:after{content:'';position:absolute;border-radius:50%;width:270px;height:270px;right:-100px;bottom:-210px;border:45px solid #ffffff08;pointer-events:none}.welcome-panel h2{font-size:26px;letter-spacing:-.65px;margin-bottom:8px}.welcome-panel p{font-size:13px;color:#c6d9ec;max-width:510px;margin:0}.light-eyebrow{color:#a5c1dd}.welcome-actions{display:flex;gap:9px;z-index:2}.welcome-panel .wave{color:var(--orange)}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 20px}.metric-card{min-height:135px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px 18px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;box-shadow:var(--shadow)}.metric-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#eef4fb;color:#385da2;margin-bottom:7px}.metric-icon.orange{background:#fff1df;color:#dc730a}.metric-icon.green{background:#e8f7f0;color:#148c62}.metric-icon.sky{background:#e8f4ff;color:#2675d7}.metric-icon.blue{background:#edf0ff;color:#5658bc}.metric-card strong{font-size:27px;line-height:1.05;letter-spacing:-.65px}.metric-card>span:last-child{color:var(--muted);font-size:11px;font-weight:550}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(265px,.85fr);gap:18px;align-items:start}.stacked-panels{display:grid;gap:17px}.attention-item{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #eef2f7}.attention-item:last-child{border-bottom:0}.attention-item strong,.attention-item small{display:block}.attention-item strong{font-size:12px}.attention-item small{margin-top:4px}.attention-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;flex:none;background:#edf4ff;color:#265ea1}.attention-icon.orange{background:#fff0e4;color:#dc7a0d}.attention-icon.rose{background:#fff0f3;color:#c24b58}.mini-step{display:flex;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid #eef2f7;font-size:12px}.mini-step:last-child{border:0}.mini-step svg{color:#dc780d}
/* ticket items */
.tickets-list{display:grid;gap:10px}.ticket-card{display:flex;align-items:center;gap:16px;min-height:94px;padding:17px 15px;border:1px solid #e6ecf3;border-radius:12px;background:linear-gradient(120deg,#fff,#fcfdff);transition:border-color .2s,box-shadow .2s}.ticket-card:hover{border-color:#cedceb;box-shadow:0 5px 20px #10203309}.ticket-card-main{min-width:0;flex:1}.ticket-number{font-size:10px;color:#8090a4;font-weight:650;margin-bottom:5px}.ticket-subject{font-weight:750;display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-subject:hover{color:#b55e02}.ticket-mini{font-size:11px;color:#8695a8;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-mini span{padding:0 4px}.ticket-card-badges{display:flex;gap:6px;flex-wrap:wrap}.ticket-card-actions{display:flex;gap:6px}.ticket-card-actions .action-icon{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:9px}.status,.priority,.role-badge{display:inline-flex;align-items:center;border-radius:6px;white-space:nowrap;padding:5px 8px;background:#f0f3f8;color:#607185;font-size:10px;font-weight:750}.status-new,.status-reopened,.status-returned{background:#fff0ed;color:#b95135}.status-under_review,.status-waiting_student{background:#fff6df;color:#a76b08}.status-assigned,.status-in_progress{background:#e8f4ff;color:#2369b1}.status-solution_submitted{background:#f3edff;color:#7b46aa}.status-done{background:#e6f6ed;color:#127f52}.priority-urgent{background:#fee8e8;color:#b33846}.priority-high{background:#fff0df;color:#b36a12}.priority-medium{background:#fff6e8;color:#a77218}.priority-low{background:#e7f8ef;color:#27875c}.filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:18px}.search-field,.filter-select{display:flex;align-items:center;gap:7px;padding-left:12px;border:1px solid var(--line);border-radius:10px;height:44px;color:#9ba9b9;background:white}.search-field{min-width:170px;flex:1}.search-field input,.filter-select select{border:0;outline:0;box-shadow:none;width:100%;padding:8px 10px;color:#304560;min-height:41px}.filter-select{flex:0 0 205px}.pagination{display:flex;align-items:center;justify-content:center;gap:15px;padding-top:17px;color:#76849a;font-size:11px}
/* form controls */
.form-stack{display:flex;flex-direction:column;gap:17px}.form-stack label{font-size:12px;color:#374a63;font-weight:650;display:flex;flex-direction:column;gap:9px}.form-stack label small{font-weight:400}.form-stack input:not([type=checkbox]):not([type=file]),.form-stack textarea,.form-stack select{display:block;width:100%;border:1px solid #d9e2ed;outline:none;border-radius:10px;padding:12px 13px;color:#142841;background:#fff;min-height:45px;font-size:12px;font-weight:480;transition:border-color .15s,box-shadow .15s}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{border-color:#ff9700;box-shadow:0 0 0 3px #ff850020}.form-stack input[readonly]{background:#f4f7fb;color:#697c91}.form-stack textarea{min-height:100px;resize:vertical;line-height:1.7}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-stack input[type=file]{width:100%;font-size:11px;font-weight:400;color:#657990;line-height:2}.form-stack input[type=checkbox]{width:17px;height:17px;accent-color:var(--orange)}.form-stack .inline-checkbox,.inline-checkbox{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:11px;color:#53667d;font-weight:550}.form-bottom{border-top:1px solid var(--line);padding-top:19px;display:flex;justify-content:space-between;align-items:center;gap:14px}.helper{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#68819b}.helper strong{font-size:11px;color:var(--green);display:flex;align-items:center;gap:5px}.content-narrow{max-width:920px;margin:0 auto}.wizard-steps{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:12px 0 22px;color:#9ca9b9;font-size:11px;font-weight:700}.wizard-steps span{display:flex;align-items:center;gap:8px}.wizard-steps span b{height:28px;width:28px;border-radius:50%;display:grid;place-items:center;background:#e9edf5;color:#7c8a9e}.wizard-steps span.current{color:#b9670a}.wizard-steps span.current b{background:var(--orange);color:var(--navy)}.ticket-create{padding:28px}.soft-icon{border-radius:10px;background:#fff0e0;display:grid;place-items:center;width:40px;height:40px;color:#bf6e10;flex:none}.upload-box{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;text-align:center;min-height:140px;border:1.5px dashed #b9cfe5;border-radius:13px;color:#6a8ba9;background:#f9fcff;padding:16px}.upload-box svg{color:#e17c0d}.upload-box input{max-width:310px}.alert{border-radius:11px;border:1px solid #d6e5f0;padding:14px 17px;margin-bottom:17px;background:#f0f7ff;font-size:12px;font-weight:550;color:#28517b}.alert.success{background:#eefaf3;border-color:#c5eed9;color:#14754b}.alert.error{background:#fff1f1;border-color:#f1cdcd;color:#ae3741}.alert.warning{background:#fff5e8;border-color:#f5dab1;color:#a56912}.alert.info{background:#f3f8ff;border-color:#d4e5f9;color:#3d6ba2}
/* tickets workspace */
.ticket-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:18px}.ticket-top-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.ticket-reference{font-weight:850;color:#a65e15;font-size:11px;letter-spacing:.3px}.ticket-header h2{font-size:24px;line-height:1.3;margin-bottom:8px}.ticket-workspace{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(305px,.95fr);gap:18px;align-items:start}.ticket-main-column,.ticket-side-column{min-width:0;display:flex;flex-direction:column;gap:18px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;margin:0 0 24px}.detail-grid dt{color:#8796aa;font-size:10px;margin-bottom:7px}.detail-grid dd{margin:0;font-weight:700;font-size:12px}.description{border-top:1px solid var(--line);padding-top:20px}.description h3{font-size:12px;color:#3c4d63}.description p,.resolution-summary p{font-size:12px;line-height:1.8;overflow-wrap:anywhere;margin-bottom:0;color:#4d5f77;white-space:normal}.resolution-summary{background:#f3fbf7;padding:16px;border-radius:12px;border:1px solid #cdebdc;margin-top:20px}.resolution-summary small{display:block;margin-top:8px;color:#498667}.section-heading{display:flex;align-items:center;gap:9px;color:#15845b}.section-heading h3{margin:0}.chat-feed{height:410px;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(135deg,#f9fbff,#fff);padding:17px 13px;display:flex;flex-direction:column;gap:13px;border:1px solid #e7edf5;border-radius:12px;scrollbar-color:#cad9e7 transparent}.chat-message{display:flex;max-width:89%}.chat-message.mine{align-self:flex-end}.chat-bubble{padding:12px 13px;background:#eef3f9;color:#2b3d54;border-radius:14px 14px 14px 3px;width:fit-content;max-width:100%;overflow-wrap:anywhere}.chat-message.mine .chat-bubble{background:#e6f4ff;border-radius:14px 14px 3px 14px}.chat-message.internal .chat-bubble{background:#fff2dc;border:1px solid #f4d6a1}.chat-who{font-size:10px;font-weight:800;margin-bottom:6px}.chat-who span{font-weight:450;color:#8294a8;margin-left:4px}.chat-who em{font-style:normal;color:#ad7a25}.chat-body{font-size:12px;line-height:1.65}.chat-file{display:flex;align-items:center;gap:8px;padding:7px;background:#ffffffa8;border:1px solid #dae7f1;border-radius:7px;margin-top:9px;color:#245f9b;font-size:10px}.chat-intro{text-align:center;align-self:center;margin:auto;padding:35px 15px;display:flex;flex-direction:column;align-items:center;gap:7px;color:#96a8ba}.chat-intro strong{color:#4b637f}.chat-intro p{font-size:11px}.live-dot{font-size:10px;font-weight:850;letter-spacing:.7px;color:#128255;display:flex;align-items:center;gap:9px}.chat-composer{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.chat-composer textarea{border:1px solid var(--line);border-radius:10px;outline:none;width:100%;resize:vertical;min-height:60px;padding:12px;font-size:12px}.chat-composer textarea:focus{border-color:#e39a3c;box-shadow:0 0 0 3px #ff85001a}.composer-bottom{display:flex;align-items:center;gap:11px;margin-top:9px;flex-wrap:wrap}.attach-inline{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);width:43px;height:43px;border-radius:10px;cursor:pointer;color:#627c98}.attach-inline input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.composer-status{font-size:10px;color:#a16b0f;flex:1}.chat-closed{display:flex;align-items:center;gap:9px;background:#f3f6fb;padding:15px;border-radius:10px;margin-top:13px;font-size:11px;color:#72849a}.timeline-panel{padding-bottom:13px}.progress-steps{position:relative}.progress-step{display:flex;gap:12px;position:relative;padding:6px 0 23px}.progress-step:not(:last-child):before{position:absolute;content:'';width:2px;background:#e5ebf3;left:15px;top:35px;bottom:-4px}.progress-step>b{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;background:#eff2f7;color:#9aabba;z-index:2}.progress-step.done>b{background:#e7f7ee;color:var(--green)}.progress-step strong{display:block;font-size:11px;margin-bottom:5px}.progress-step small{font-size:10px}.event-list{max-height:470px;overflow:auto}.event{display:flex;gap:13px;padding:0 0 19px;position:relative}.event-marker{flex:0 0 10px;height:10px;border-radius:50%;background:#f8b059;border:3px solid #fff1dc;margin:5px 0 0 3px;box-shadow:0 0 0 2px #f8e2ca}.event strong,.event small{display:block}.event strong{font-size:11px}.event small{margin-top:4px;font-size:10px}.event p{font-size:11px;color:#64758a;margin:8px 0 0;overflow-wrap:anywhere}.file-grid{display:grid;gap:8px}.file-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:11px 12px;min-width:0}.file-card>span{min-width:0;flex:1}.file-card strong,.file-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card strong{font-size:11px}.file-card small{font-size:10px;margin-top:3px}.file-card svg{color:#3978b4}.rating-display{font-size:24px;letter-spacing:2px;color:#f49b05}
/* Admin setup */
.settings-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.85fr);align-items:start;gap:18px}.wide-settings{grid-template-columns:minmax(0,1.5fr) minmax(295px,.8fr)}.config-list{display:grid;gap:9px}.config-row{display:flex;align-items:center;gap:12px;min-width:0;border:1px solid var(--line);border-radius:11px;padding:12px}.config-row:hover{background:#fbfcfe}.config-row-icon{width:37px;height:37px;flex:none;border-radius:10px;background:#f5efff;color:#7f58ba;display:grid;place-items:center}.config-row-main{flex:1;min-width:0}.config-row-main strong{display:block;font-size:12px}.config-row-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:10px}.config-row .action-icon{width:36px;min-width:36px;height:36px;min-height:36px}.role-badge{font-weight:550;color:#4b6c91;margin-left:5px}.notification-row{padding:14px 5px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line)}.notification-row>span:nth-child(2){min-width:0;flex:1}.notification-row strong,.notification-row small{display:block}.notification-row strong{font-size:12px}.notification-row small{margin-top:5px}.notification-icon{display:grid;place-items:center;background:#fff0df;color:#bc6c0e;width:42px;height:42px;border-radius:12px;flex:none}.profile-card{display:flex;gap:17px;align-items:center;margin-bottom:23px}.profile-avatar{height:74px;width:74px;display:grid;place-items:center;font-size:27px;color:white;font-weight:800;background:linear-gradient(135deg,#ffa946,#c36d15);border-radius:20px}.profile-card h2{margin-bottom:8px}.bar-item{margin:21px 0}.bar-item>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px}.bar-item strong{font-size:12px}.bar-item span{color:#8293a6;font-size:11px}.bar-track{width:100%;height:11px;border-radius:10px;background:#edf1f6;overflow:hidden}.bar-fill{height:100%;border-radius:10px;background:linear-gradient(90deg,#f8a444,#df7810)}.report-center{text-align:center;padding:25px 0}.report-rating{font-size:52px;font-weight:800;letter-spacing:-2px}
/* authentication / installer */
.auth-body{background:#f4f7fb}.auth-layout{min-height:100dvh;display:grid;grid-template-columns: minmax(0,1.12fr) minmax(420px,.88fr)}.auth-hero{background:linear-gradient(150deg,#0e233d,#1b3f61);display:flex;flex-direction:column;justify-content:space-between;color:white;padding:43px clamp(30px,5.4vw,90px);position:relative;overflow:hidden}.auth-hero:before{content:'';position:absolute;background:radial-gradient(circle at center,#3976ad70,transparent 69%);width:700px;height:700px;right:-300px;top:-130px;pointer-events:none}.auth-hero:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,#ffffff04 0,#ffffff04 1px,transparent 1px,transparent 60px);pointer-events:none}.auth-logo{display:flex;align-items:center;gap:12px;z-index:1;letter-spacing:1px;font-size:17px}.auth-logo svg{color:#ff9f31}.auth-logo strong span{color:#ff9b2b}.hero-content{z-index:1}.hero-content .eyebrow{color:#b8d1e8}.hero-content h1{font-size:clamp(39px,4.4vw,66px);line-height:1.07;letter-spacing:-2.4px;margin:0 0 25px}.hero-content h1 span{color:var(--orange)}.hero-content>p{max-width:465px;color:#ccdaeb;font-size:15px;line-height:1.9}.hero-highlights{display:grid;gap:19px;margin-top:42px;font-size:12px;color:#d8e5f2;font-weight:600}.hero-highlights>div{display:flex;align-items:center;gap:12px}.hero-highlights svg{color:#ffaf55}.hero-foot{font-size:11px;color:#8fabca;z-index:1}.auth-right{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px 35px 15px}.login-panel{width:min(100%,430px);background:white;border-radius:19px;padding:38px 36px;border:1px solid #e2e9f3;box-shadow:0 12px 48px #142d4a0b}.login-panel h2{font-size:27px;line-height:1.3;letter-spacing:-.8px;margin-bottom:11px}.login-panel>.subtle{margin-bottom:27px}.login-submit{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:21px;margin-top:7px}.login-submit span{font-size:13px;font-weight:800}.password-wrap{display:flex;position:relative}.password-wrap input{padding-right:57px!important}.password-eye{position:absolute;right:4px;top:2px;border:0}.login-note{display:flex;gap:8px;align-items:flex-start;margin-top:29px;color:#7889a0;font-size:11px;line-height:1.7}.login-note svg{color:#179466;flex:none;margin-top:1px}.auth-footer{text-align:center;margin-top:32px;color:#a0acba;font-size:11px}.install-wrap{display:grid;grid-template-columns:.85fr 1.15fr;max-width:1080px;min-height:100dvh;align-items:center;gap:55px;margin:0 auto;padding:38px 24px}.install-intro{padding:24px}.install-intro h1{font-size:49px;margin:30px 0 18px}.install-intro p{max-width:360px;color:#657b93}.brand-symbol{width:66px;height:66px;background:var(--navy);color:var(--orange);font-size:40px;border-radius:20px;display:grid;place-items:center}.install-points{display:flex;flex-direction:column;gap:19px;margin-top:34px;font-weight:700;font-size:12px;color:#627b93}.install-card{width:100%;max-width:560px}.install-card h2{font-size:24px}.install-card .subtle{margin:9px 0 21px}.install-card .divider{margin:5px 0}.full-cta{width:100%;min-height:48px;background:var(--orange);border:0;color:var(--navy);font-weight:850;border-radius:10px;margin-top:5px}.full-cta:hover{background:#ffad55}.tiny-note{font-size:10px;color:#8798aa;margin:15px 0 0}
/* responsive */
@media(max-width:1230px){.ticket-workspace{grid-template-columns:minmax(0,1.1fr) minmax(278px,.9fr)}.config-row .role-badge{display:none}.settings-layout{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.ticket-card{gap:9px}.ticket-card-badges{max-width:120px}}@media(max-width:1050px){.dashboard-layout{grid-template-columns:1fr}.stacked-panels{grid-template-columns:1fr 1fr}.ticket-workspace{grid-template-columns:1fr}.ticket-side-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.ticket-side-column .action-panel,.ticket-side-column .timeline-panel{grid-column:span 1}.ticket-side-column>.panel:last-child{grid-column:1/-1}.ticket-card-badges{max-width:none}.settings-layout{grid-template-columns:1fr}.settings-layout>.panel:last-child{max-width:800px;width:100%}.auth-layout{grid-template-columns:1fr 1fr}.auth-hero{padding:34px}.login-panel{padding:30px 26px}}
@media(max-width:767px){:root{font-size:14px}.rail{inset:0 auto 0 0;width:265px;transform:translateX(-105%);transition:transform .25s ease;align-items:stretch;padding:20px 15px;box-shadow:10px 0 30px #10203324}.menu-open .rail{transform:translateX(0)}.rail-brand{margin-bottom:5px}.rail-links{align-items:stretch;max-height:calc(100dvh - 170px);overflow-y:auto}.rail .nav-icon{height:50px;width:100%;display:flex;justify-content:flex-start;gap:15px;padding:0 15px}.rail .nav-text{display:inline;color:inherit;font-weight:700;font-size:12px}.rail-bottom .action-icon{width:100%;justify-content:flex-start;padding-left:15px}.rail-bottom:after{content:'Sign out';display:block;color:#f8d5d3;font-size:11px;margin:-30px 0 0 55px;pointer-events:none;height:27px}.nav-icon::after,.nav-icon::before{display:none}.mobile-scrim{display:none;position:fixed;inset:0;background:#0c233e96;z-index:33}.menu-open .mobile-scrim{display:block}.body-wrap{margin:0;width:100%}.topbar{height:63px;padding:0 14px;gap:9px}.top-meta,.top-campus{display:none}.mobile-menu{display:inline-flex}.top-brand{font-size:13px}.top-brand>svg{width:20px}.top-right{gap:2px}.topbar .action-icon{width:39px;min-width:39px;height:39px;min-height:39px}.user-avatar{width:34px;height:34px}.app-content{padding:19px 13px 94px}.app-footer{display:none}.page-top{margin-bottom:18px}.page-top h1{font-size:23px}.page-date{display:none}.eyebrow{font-size:9px}.welcome-panel{padding:22px 19px;min-height:155px;gap:8px}.welcome-panel h2{font-size:21px}.welcome-panel p{font-size:11px}.welcome-actions{flex-direction:column}.welcome-actions .action-icon{width:43px;height:43px}.metrics-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{min-height:112px;padding:12px 13px;border-radius:12px}.metric-card strong{font-size:23px}.metric-icon{width:30px;height:30px;margin-bottom:4px}.metric-icon svg{width:17px}.panel{padding:17px;border-radius:13px}.panel-head{margin-bottom:15px}.stacked-panels{grid-template-columns:1fr}.ticket-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;min-height:0;padding:13px 12px}.ticket-card-main{grid-column:1/-1}.ticket-card-badges{max-width:none}.ticket-card-actions{justify-content:flex-end}.ticket-card-actions .action-icon{width:42px;height:42px;min-width:42px;min-height:42px}.ticket-card .ticket-subject{white-space:normal;line-height:1.55}.ticket-mini{white-space:normal}.filters{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.filters .search-field{grid-column:1/-1}.filters .filter-select{flex:1;min-width:0;width:100%;height:43px}.ticket-header{align-items:flex-start}.ticket-header h2{font-size:19px}.ticket-side-column{display:flex;flex-direction:column}.ticket-side-column>.panel{width:100%}.ticket-side-column .action-panel,.ticket-side-column .timeline-panel{grid-column:auto}.chat-feed{min-height:310px;height:55dvh;max-height:590px}.chat-message{max-width:94%}.detail-grid{gap:17px}.file-grid{grid-template-columns:1fr}.settings-layout{gap:16px}.config-row{gap:9px;padding:10px}.config-row .status,.config-row .priority{display:none}.config-row-main small{white-space:normal;line-height:1.4}.form-grid{grid-template-columns:1fr}.ticket-create{padding:18px}.wizard-steps{gap:5px;font-size:9px}.wizard-steps span{gap:5px}.wizard-steps span b{width:24px;height:24px;flex:none}.form-bottom{align-items:flex-start}.helper span{max-width:155px}.mobile-bottom{display:flex;position:fixed;bottom:0;left:0;right:0;height:70px;padding:6px 9px max(8px,env(safe-area-inset-bottom));z-index:25;background:#ffffffee;border-top:1px solid var(--line);backdrop-filter:blur(15px);justify-content:space-around;align-items:center}.mobile-navitem{width:calc(25% - 6px);height:52px;min-height:52px;border:0;background:none;display:flex;flex-direction:column;gap:3px;border-radius:11px;color:#72849a}.mobile-navitem svg{width:20px;height:20px}.mobile-navitem .nav-text{display:block;font-size:9px;font-weight:700}.mobile-navitem.active{color:#a45500;background:#fff0df}.mobile-navitem::after{display:none}.auth-layout{display:block}.auth-hero{min-height:260px;padding:25px 25px 20px}.auth-hero .hero-content{margin:35px 0 5px}.auth-hero .hero-content h1{font-size:34px;letter-spacing:-1px;margin-bottom:12px}.hero-content>p{font-size:12px;max-width:330px}.hero-highlights,.hero-foot{display:none}.auth-right{padding:0 16px 30px;margin-top:-16px;position:relative}.login-panel{width:100%;max-width:470px;padding:25px 22px}.login-panel h2{font-size:22px}.auth-footer{margin-top:18px}.install-wrap{display:flex;flex-direction:column;gap:0;padding:18px 14px}.install-intro{width:100%;padding:20px}.install-intro h1{font-size:29px;margin:12px 0}.install-points{display:none}.install-card{padding:22px 17px}}
@media(max-width:365px){.top-brand{font-size:11px}.topbar{gap:5px}.ticket-reference{font-size:10px}.welcome-panel{padding:18px 13px}.welcome-panel h2{font-size:18px}.metrics-grid{gap:7px}.metric-card{padding:10px}.form-bottom{flex-direction:column}.helper span{max-width:none}.actions-inline{align-self:flex-end}.page-top h1{font-size:21px}.wizard-steps{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}

.article-list{display:grid;gap:12px}.article-card{border:1px solid #e3eaf2;padding:20px;border-radius:12px;background:#fbfdff}.article-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.article-title strong{font-size:14px}.article-title .action-icon{width:36px;min-width:36px;height:36px;min-height:36px}.article-label{font-size:10px;font-weight:650;color:#c07820;margin:6px 0 12px}.article-card p{color:#536880;font-size:12px;line-height:1.8;white-space:normal;margin:0;overflow-wrap:anywhere}.single-layout{grid-template-columns:1fr;max-width:1100px}.text-link{color:#b05f09;font-weight:700}.text-link:hover{text-decoration:underline}

@media(max-width:767px){.config-row .action-icon,.article-title .action-icon{width:44px;min-width:44px;height:44px;min-height:44px}.config-row>form .action-icon{width:44px;min-width:44px;height:44px;min-height:44px}}
/* First-run installer uses the same polished card and form system as login. */
.auth-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:0 16px 60px rgba(16,32,51,.07)}
@media(max-width:767px){.auth-card{padding:22px 17px}}
