/* INP Inside — кабинет сотрудника. Дополняет inp.css: токены и компоненты
   (.card, .grid-*, .field, .badge-*, .table, .kv, .alert) берутся оттуда.
   Светлая тема по умолчанию; контраст текста ≥ 4,5:1; цели ≥ 44px на телефоне. */

body.page-inside{background:var(--surface-2)}

/* --- компактная шапка --- */
.ins-header{background:var(--nav-bg);color:var(--nav-text);--focus:var(--sky);position:sticky;top:0;z-index:70;box-shadow:0 1px 0 rgba(255,255,255,.06)}
.ins-header-inner{display:flex;align-items:center;gap:1.25rem;min-height:4rem;padding-top:.5rem;padding-bottom:.5rem;flex-wrap:wrap}
.ins-brand{display:flex;align-items:center;gap:.75rem;min-width:0;border-radius:var(--radius-sm);min-height:var(--touch)}
.ins-brand .brand-mark{width:2.75rem;height:2.75rem;padding:.25rem;box-shadow:none;background:#fff}
.ins-brand-text{display:flex;flex-direction:column;line-height:1.15}
.ins-brand-text b{font-family:var(--display);font-size:1.0625rem;font-weight:800;color:#fff;letter-spacing:-.01em}
.ins-brand-text span{font-size:.75rem;color:var(--nav-text)}
.ins-nav{display:flex;align-items:center;gap:.125rem;flex:1 1 auto;overflow-x:auto;scrollbar-width:none}
.ins-nav::-webkit-scrollbar{display:none}
.ins-nav a{display:inline-flex;align-items:center;gap:.4rem;min-height:var(--touch);padding:0 .875rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9375rem;color:var(--nav-text);white-space:nowrap;transition:background-color var(--dur-fast),color var(--dur-fast)}
.ins-nav a:hover{color:#fff;background:var(--nav-active)}
.ins-nav a[aria-current="page"]{color:#fff;background:var(--nav-active);box-shadow:inset 0 -2px 0 var(--sky)}
.ins-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.375rem;height:1.375rem;padding:0 .375rem;border-radius:var(--radius-pill);background:var(--gold);color:var(--navy);font-size:.75rem;font-weight:700;line-height:1;vertical-align:middle}
.ins-user{display:flex;align-items:center;gap:.75rem;margin-left:auto}
.ins-user-name{font-size:.875rem;color:#fff;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ins-user .btn-out,.ins-public-link{background:transparent;border:1.5px solid rgba(255,255,255,.35);color:#fff;min-height:2.5rem;display:inline-flex;align-items:center;padding:0 .875rem;border-radius:var(--radius-sm);font-weight:600;font-size:.875rem}
.ins-user .btn-out:hover,.ins-public-link:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff;transform:none}
.ins-public-link{margin-left:auto}

/* --- каркас страниц --- */
.ins-main{padding:2rem 0 3rem}
.ins-title{font-family:var(--display);font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:var(--heading);letter-spacing:-.02em;line-height:1.15}
.ins-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.ins-head p{color:var(--text-2);margin-top:.5rem;max-width:46rem}
.ins-h2{font-family:var(--display);font-size:1rem;font-weight:800;color:var(--heading);margin-bottom:.625rem}
.ins-section{margin-top:1.75rem}
.ins-section h2{font-family:var(--display);font-size:1.125rem;font-weight:800;color:var(--heading);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}
.ins-grid-top{align-items:stretch;grid-template-columns:1.5fr 1fr 1fr}
.ins-grid{margin-top:1.75rem}
.ins-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.ins-muted{color:var(--text-2);font-size:.9375rem}
.ins-big{font-family:var(--display);font-size:2.25rem;font-weight:800;color:var(--heading);line-height:1}
.ins-footer{background:var(--nav-bg);color:var(--nav-text);font-size:.8125rem;padding:1rem 0;margin-top:auto}
.ins-footer .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.ins-footer a{color:#fff;text-decoration:underline;text-underline-offset:.15em;min-height:var(--touch);display:inline-flex;align-items:center}

/* --- карточка сотрудника --- */
.ins-card-emp{display:flex;gap:1.25rem;align-items:flex-start}
.ins-card-emp-body{min-width:0;flex:1}
.ins-photo{width:6rem;height:6rem;border-radius:50%;object-fit:cover;background:var(--surface-3);flex:none}
.ins-avatar{width:6rem;height:6rem;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:2rem;flex:none}
.ins-card-emp .kv{font-size:.9rem;gap:.375rem 1rem}
.ins-card-emp code{font-size:.9rem;white-space:nowrap;background:var(--surface-3);padding:.1rem .4rem;border-radius:.25rem}
.ins-links{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.ins-links a{color:var(--primary);font-weight:600;min-height:var(--touch);display:inline-flex;align-items:center}
.ins-links small{display:block;color:var(--text-2);font-size:.8125rem}
.ins-link-ext{color:var(--accent-ink)!important}

/* --- списки --- */
.ins-list{list-style:none;display:flex;flex-direction:column;gap:.625rem}
.ins-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.875rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap}
.ins-row>div{min-width:0;flex:1 1 16rem}
.ins-row b{font-weight:600;color:var(--heading)}
.ins-row small{display:block;color:var(--text-2);font-size:.8125rem;margin-top:.125rem}
.ins-row a{color:var(--primary)}
.ins-row.is-unread{border-left:4px solid var(--gold)}

/* --- формы --- */
.ins-login{max-width:28rem;margin:2.5rem auto}
.ins-login .form-card{max-width:none}
.ins-btn-wide{width:100%}
.ins-form .field input[type="file"]{padding:.4rem .5rem}
.ins-form select{appearance:auto}
.ins-form-grid{gap:0 1.25rem}
.ins-span-2{grid-column:1/-1}
.ins-form .field select[multiple]{min-height:9rem}
.errorlist{list-style:none;color:var(--danger);font-size:.875rem;margin-top:.375rem}
.ins-card-form{max-width:52rem}
.ins-detail{margin-top:.5rem}
.ins-dl{font-size:.875rem}

/* --- проверка --- */
.ins-review-item{padding:1.25rem}
.ins-review-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}
.ins-review-head b{font-weight:700;color:var(--heading);font-size:1.0625rem}
.ins-review-head small{display:block;color:var(--text-2);font-size:.8125rem;margin-top:.125rem}
.ins-diff td:first-child{color:var(--text-2);white-space:nowrap}
.ins-diff td:last-child{color:var(--heading);font-weight:500}
.ins-decision{display:grid;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}
.ins-decision .field{margin-bottom:.5rem}
.ins-decision textarea{min-height:4rem}
.ins-history{list-style:none;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem}
.ins-history li{padding:.5rem .75rem;border-left:3px solid var(--accent);background:var(--surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.ins-history small{display:block;color:var(--text-2);font-size:.75rem;margin-top:.125rem}

/* --- адаптив --- */
@media(max-width:1023.98px){
  .ins-grid-top{grid-template-columns:1fr 1fr}
  .ins-card-emp{grid-column:1/-1}
}
@media(max-width:767.98px){
  .ins-header-inner{gap:.75rem}
  .ins-nav{order:3;flex-basis:100%;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter);width:calc(100% + 2 * var(--gutter))}
  .ins-user-name{display:none}
  .ins-brand-text span{display:none}
  .ins-grid-top,.ins-grid,.ins-form-grid{grid-template-columns:1fr}
  .ins-card-emp{flex-direction:column}
  .ins-main{padding:1.5rem 0 2.5rem}
  .ins-login{margin:1rem auto}
  .ins-head .ins-actions .btn{flex:1 1 auto}
}
@media(pointer:coarse){
  .ins-nav a,.ins-user .btn-out,.ins-public-link,.ins-row .btn-link{min-height:var(--touch)}
}
@media(prefers-reduced-motion:reduce){
  .ins-nav a{transition:none}
}
