Project Planning & Organisation

Version 9.7 by Veronika Kocher on Thursday, 03 Sep 2026 14:15

.pp{max-width:1400px;margin:0 auto;color:#322f2b} .pp *{box-sizing:border-box}
.card{border:1px solid #e3ded6;border-radius:11px;background:#fcfbf8;box-shadow:0 1px 3px rgba(0,0,0,.035)}
.eye{font-size:12px;font-weight:700;letter-spacing:.075em;text-transform:uppercase}
.hero{height:125px;overflow:hidden;background:#f1eee9} .hero img{width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:14px}
.check{position:relative;padding:12px 13px 12px 37px;border:1px solid #e3ded6;border-radius:8px;background:#fffdf9;color:#504a44;line-height:1.5}
.check:before{content:"✓";position:absolute;left:13px;top:10px;color:#e94b13;font-weight:800}
.info{padding:15px 17px;border:1px solid #c7e5ed;border-left:5px solid #21b6d7;background:#eaf6f9;border-radius:8px;color:#365e68}
.info strong{color:#2d5661} .warn{padding:15px 17px;border:1px solid #efd9cc;border-left:5px solid #e94b13;background:#fff6f1;border-radius:8px;color:#67564e} .warn strong{color:#744531}
.sec{margin:0 0 28px 0} .sec h3{font-size:22px;margin:0 0 6px;color:#35312d} .sec>p{color:#6a655e;line-height:1.55}
.role{padding:15px 16px;border:1px solid #e3ded6;border-top:4px solid #e94b13;border-radius:9px;background:#fcfbf8} .role h4{font-size:17px;margin:0 0 6px;color:#35312d} .role p{margin:0;color:#625d56;line-height:1.5}
.detail{margin:8px 0;border:1px solid #e3ded6;border-radius:8px;background:#fcfbf8;overflow:hidden} .detail summary{cursor:pointer;padding:12px 14px;font-weight:700;color:#403b36;background:#f3efe8} .detail[open] summary{border-bottom:1px solid #e3ded6} .detail .body{padding:14px 16px;color:#514c46;line-height:1.55}
.chip{display:inline-block;padding:4px 8px;margin:3px 4px 3px 0;border-radius:14px;background:#f3efe8;border:1px solid #e3ded6;color:#5c5650;font-size:12px;text-decoration:none}.chip:hover,.chip:focus{background:#fff7f1;border-color:#e7c8b8;color:#6f3f2e;text-decoration:none}
.tbl{width:100%;border-collapse:collapse;background:#fffdf9} .tbl th,.tbl td{border:1px solid #e3ded6;padding:10px 11px;vertical-align:top;text-align:left} .tbl th{background:#f3efe8;color:#403b36}
.linkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px} .navlink{display:block;padding:10px 11px;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:6px;background:#fffdf9;color:#252321;text-decoration:none;font-weight:600} .navlink:hover{background:#fff7f1;text-decoration:none}
  .research-example-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:14px;
    margin-top:12px;
  }
  .research-example{
    padding:16px 17px;
    border:1px solid #e3ded6;
    border-radius:9px;
    background:#fcfbf8;
    box-shadow:0 1px 3px rgba(0,0,0,.03);
  }
  .research-example h4{
    font-size:18px;
    margin:0 0 7px 0;
    color:#35312d;
  }
  .research-example p{
    margin:0 0 10px 0;
    color:#625d56;
    line-height:1.5;
  }
  .research-example a{
    display:inline-block;
    font-weight:700;
    text-decoration:none;
  }
  .research-example a:hover,
  .research-example a:focus{
    text-decoration:underline;
  }
Planning and organising an artistic or research project
ENABLE · PROJECT PLANNING & ORGANISATION

Build a project that can actually be hosted, funded, staffed and delivered

Project planning at the Angewandte is not only a timeline and a budget. A workable project needs an artistic or research home, clear responsibilities, an appropriate funding and administrative route, and early coordination with the university structures triggered by your project.

Do not contact every unit at once. Start with your academic/artistic home and, for funded or project-based art/research, Support Kunst und Forschung. Then involve other structures only when a project trigger makes them relevant: staff, money, contracts, IT, rooms, events, data, students, accessibility, international partners, etc.
Current structures can change. This page follows the current 2026 organisational structure and links to live university pages. For approvals, signatures, internal deadlines and binding procedures, confirm the current route with the responsible unit.
STEP 1 · PROJECT GOVERNANCE

Define the internal project structure before the detailed work plan

Write down names, not just functions. One person can hold several roles in a small project, but the responsibility should still be explicit.

Project / artistic-research lead

Owns the concept, scope, key decisions, quality and external commitments.

Institutional / academic home

The institute, department, special university facility or organisational unit in which the project is anchored.

Project administration

Coordinates proposal documents, deadlines, funder communication, contracts, evidence and internal routing.

Budget responsibility

Maintains the working budget, funding conditions, approvals, cost tracking and change control.

People / team responsibility

Clarifies staffing, recruitment, workload, contracts, onboarding, external contributors and collaboration.

Data / documentation responsibility

Coordinates files, storage, backup, access, metadata, consent, documentation and handover.

Infrastructure / production responsibility

Coordinates rooms, workshops, equipment, IT, procurement, logistics, safety and technical dependencies.

Communication / dissemination responsibility

Plans public communication, publication, events, documentation, credits, visibility and audiences.

Partner contact

Coordinates external institutions, deliverables, budget interfaces and agreements.

STEP 2 · INTERNAL ROUTE

Use this order to navigate the Angewandte

1 · Anchor the project
Clarify the institute, department, special university facility or organisational unit that hosts it.
2 · Clarify funding / project route
For art, research and externally funded projects, involve Support Kunst und Forschung early.
3 · Trigger specialist services
Finance, HR, Legal, IT, Facility, Events, Communication, International, Library, Studies, DEI, etc. only where needed.
4 · Confirm institutional approvals
Clarify internal deadlines, budget/HR approval, signing authority, contracts and external submission route.
5 · Freeze the submission baseline
Store the final call, approved budget, work plan, roles and submitted documents.
6 · Plan change control
Decide who must approve changes to scope, staff, budget, partners, timeline or public outputs.
EXAMPLES · HOW RESEARCH IS SITUATED AT THE ANGEWANDTE

Use existing projects to understand possible research profiles and institutional homes

The Angewandte presents research projects through several research-focus perspectives. These pages are useful when you are trying to understand how a project like yours might be framed, where comparable projects are located in the University, which funding programmes have been used, and which institutes or research environments have hosted related work.

ARTISTIC RESEARCH

Fokus Künstlerische Forschung

Examples of artistic and arts-based research projects at the Angewandte, including many projects funded through FWF PEEK and related programmes. Use this page to see how artistic practice, research questions, project leadership and institutional affiliation come together in funded projects.

View artistic research projects ↗
SCIENTIFIC RESEARCH

Fokus Wissenschaftliche Forschung

Examples of scientific research across the University's institutes and fields, including FWF-funded basic research, ESPRIT projects and other externally funded research. Use this page to compare project types, hosts, funding programmes and disciplinary or interdisciplinary research settings.

View scientific research projects ↗
RELATIONAL / CROSS-CUTTING RESEARCH

Fokus Relationale Forschung

Examples of projects organised through specific calls, thematic relationships and cross-cutting research frameworks, including INTRA, digital and social transformation and research-infrastructure initiatives. Use this page when your project connects disciplines, infrastructures, institutions or thematic programmes.

View relational research projects ↗
How to use these examples: do not copy a project's structure simply because the topic looks similar. Compare the project type, host unit, funding programme, project lead, partners, duration and outputs. These are the elements that help you judge whether an existing project is a useful planning reference for your own proposal.
STEP 3 · WHO SHOULD I INVOLVE?

Project-relevant structures of the Angewandte

Not every project needs every unit. Use the trigger descriptions below.

A · Your institute, department, workshop or special university facility — the project home
B · Support Kunst und Forschung — project and funding coordination

Use when: developing artistic, scientific or arts-based research projects; looking for funding; preparing external proposals; coordinating third-party funded projects.

  • concept development and feedback
  • funding landscape and call fit
  • administrative and financial project co-design
  • coordination of funded projects and partners
  • support involving FWF, FFG, EU programmes, City of Vienna and other funders

Support Kunst und Forschung · support_kf@uni-ak.ac.at

C · Rektorat — strategy, institutional commitment and university-level responsibility

Most projects do not begin by contacting the Rektorat directly. It becomes relevant when a project requires university-level decisions, commitments, strategy, resources, partnerships or signing authority. Route questions through your host unit and responsible service wherever possible.

  • Rector: overall strategy, budget/personnel allocation to organisational units, institutional representation, international university partnerships, employment/service contracts and powers of attorney.
  • Vice-Rector for Science, Research & Digitality: research strategy, artistic/scientific research support, digital development, IT & Digitalisation, Support Art & Research, University Library and doctoral admissions.
  • Vice-Rector for Finance & Infrastructure: financial management, third-party funds management, resources, procurement/infrastructure, estates, Facility Management and Event Management.
  • Vice-Rector for Art, Teaching & Learning: study/examination matters, teaching, teaching quality, curricular/learning issues and teaching resources.
  • Vice-Rector for Cooperative Disciplinarity, Engagement & Innovation: international relations and partnerships, Diversity/Equity/Inclusion, International Office, AIL and Art x Science School for Transformation.

Current Rektorat and portfolios

D · Finances — budget, accounting, controlling and resource planning

Use when: the project has a budget, third-party funds, invoices, income, cost planning, co-funding, financial reporting or institutional resources.

  • Controlling: budget planning, monitoring, steering data, financial plans and reporting interfaces.
  • Financial Accounting: university payments, creditors/debtors, service contracts/guest lectures, bookkeeping, assets, VAT/tax information and financial statements.
  • Resource Planning: clarify current responsibilities for institutional resource planning and the project's budget route.

Finances · Controlling · Financial Accounting

E · Personnel — staffing, contracts, workload, onboarding and team development

Use when: the project creates or changes employment, recruits project staff, uses existing staff time, requires onboarding or needs help with team collaboration.

  • Personnel Management: employment and personnel administration; clarify the current route for project staff and contract types.
  • Personnel Development: onboarding, team coaching, organisational development, conflict support/mediation, leadership coaching and staff development.
  • Clarify personnel lead times before promising start dates in a proposal.
  • Do not assume an external budget line automatically creates an employment route.

Personnel · Personnel Development

F · Legal & Data Protection — contracts, rights, IP, personal data and legal risk

Use when: agreements, external partners, licences, copyright/IP, personal data, confidentiality, complex terms or institutional legal commitments are involved.

  • Legal Department: supports university members with legal questions.
  • Data Protection Officer: involve where personal-data processing, data-sharing, processors/platforms or other privacy questions require specialist review.
  • Plan legal review before the proposal deadline if funder/partner contracts are part of submission.

Legal · rechtsabteilung@uni-ak.ac.at

G · IT & Digitalisation — systems, digital services, infrastructure and IT projects

Use when: the project needs accounts, university IT, servers/storage, networking, specialist digital systems, integration, new software/services or a digital institutional process.

  • Base
  • ITD Project Coordination
  • Central IT Services (ZID): university-wide information and communication infrastructure, service/support, networks, servers and art-university-specific IT systems.

IT & Digitalisation · helpdesk@uni-ak.ac.at

H · Facility Management — rooms, procurement, material, building services, logistics and safety

Use when: the project needs space, temporary rooms, equipment/material procurement, technical building requirements, logistics, deliveries, storage, access or safety coordination.

  • Procurement & Material Management: procurement advice, quotations, purchasing, orders/invoices, assets/inventory, materials.
  • Building Technology & Safety
  • Estates & Room Coordination: room and estate coordination, centrally bookable rooms.
  • Post & Logistics
  • Service & Operations

Facility Management · Procurement & Material Management · Estates & Room Coordination

I · Event Management — public events, event rooms and production coordination

Use when: the project contains a symposium, screening, performance, public presentation, conference, major exhibition event or requires centrally managed event rooms/services.

  • supports employees with planning and implementation of university events
  • supports idea and room finding, preparation, event delivery and follow-up
  • coordinate early with Facility Management for room/building/technical dependencies
  • coordinate public communication with Press & Communication

Event Management · veranstaltungen@uni-ak.ac.at

J · Press & Communication — public visibility, media, publications, web and cooperation

Use when: the project will represent the University publicly, needs press/media work, web/social communication, marketing, institutional publications, graphical/CI support or public cooperation communication.

  • Press
  • Publications / Edition Angewandte
  • Cooperations
  • Marketing
  • Website / social media / newsletter
  • institutional visual identity / CI considerations

Press & Communication

K · International Office — mobility and international project context

Use when: staff/student mobility, exchange routes, international visitors or mobility funding are part of the project.

For broader university partnerships and institutional international cooperation, the responsible Vice-Rectorate / Rectorate route may also become relevant.

International Office · staff mobility · international.office@uni-ak.ac.at

L · University Library & research/discovery structures

Use when: the project needs literature, licensed databases, research discovery, publication/repository routes or library expertise.

Also think beyond the Library where your project uses institutional collections, archives or specialist research resources: Art Collection and Archive, Weibel Institute and other special university facilities can be relevant depending on the topic.

University Library

M · Studies, Teaching, Curricula & Doctoral Centre

Use when: the project directly affects teaching, courses, curricula, assessment, students, graduation work or doctoral study.

  • Study Affairs: student administration and study-law processes from admission to graduation.
  • Vice-Rector for Art, Teaching & Learning: teaching, studies/exams, teaching quality and teaching resources.
  • Doctoral Centre: central contact for doctoral candidates; supports networking and project initiation across doctoral programmes.
  • Quality Culture Teaching & Curriculum Workshop: involve for relevant teaching/curricular/quality-development questions according to current remit.

Study Affairs · Doctoral Centre

N · Diversity, Equity, Inclusion & Accessibility

Use when: accessibility, inclusion, participation design, equal opportunity, diversity, disability, structural barriers or inclusive communication need to be planned into the project.

  • DEI connects diversity, equity/inclusion and accessibility expertise.
  • Team Barrierefrei provides practical accessibility information and contacts for staff/students with disabilities.
  • For events, plan accessibility early enough to budget interpretation, technical support, accessible rooms or other measures.

Diversity, Equity, Inclusion · Accessibility at the Angewandte

O · University Development & Quality Culture

Use when: the project is institution-wide, strategically relevant, develops organisational/quality processes, creates new cross-unit structures or needs connection to university development and quality culture.

For ordinary project delivery this is not a default project-administration unit. Involve it where the project's purpose genuinely touches institutional development or quality processes.

uq@uni-ak.ac.at

P · Equality / staff / student representation — independent advice and representation

These structures are not project-management offices, but they can be essential when a project raises employment, discrimination, participation or conflict questions.

  • Arbeitskreis für Gleichbehandlungsfragen (AKG): confidential contact on equality, discrimination and harassment.
  • Works Councils: representation of artistic/scientific and general university staff in employment matters.
  • HUFAK / Students' Union: student representation; relevant where student participation and student interests are central.
  • Arbitration Commission: part of the University's governance/interest-representation structure; not a routine project-planning service.

AKG · Works Council artistic/scientific staff · HUFAK

STEP 4 · TRIGGER MATRIX

If the project does this, involve these structures early

Project triggerStart withThen check
External research / arts-based research fundingHost unit + Support Kunst und ForschungFinances, Personnel, Legal, Rectorate route as required
New staff / project employment / changed workloadHost unit + PersonnelFinances, Support Kunst und Forschung, Works Council if representation advice is needed
Large purchase / equipment / external serviceProcurement & Material ManagementFinances, host unit, IT or Facility depending on item
New software, server, database, digital platform or integrationIT & Digitalisation / ZIDData Protection, Legal, procurement, research-data planning
Rooms, workshop, exhibition build, building interventionHost unit + Facility / Room CoordinationSafety, procurement, Event Management, accessibility
Public event / symposium / screening / performanceEvent ManagementFacility, Press & Communication, rights, accessibility, safety
External contract / cooperation agreement / IP / confidentialityLegalSupport Kunst und Forschung, Rectorate route, Finance, Data Protection
Personal data / participant data / interviews / recordingsData Protection + project leadEthics/consent, IT/storage, Legal, funder requirements
Publication, media campaign, university web/social mediaPress & CommunicationRights/licensing, Support Kunst und Forschung, repository/library
International mobilityInternational OfficeHost unit, Support Kunst und Forschung, Personnel/Finance depending on funding
Formal international university partnershipHost unit + responsible Rectorate routeInternational Office, Legal, Support Kunst und Forschung
Teaching / curriculum / study-law componentHost institute/departmentVice-Rector Art/Teaching/Learning, Study Affairs, quality/curriculum structures
Doctoral project / doctoral candidate structureDoctoral Centre + relevant programmeResearch Vice-Rectorate/admission route, Support Kunst und Forschung
Accessibility / inclusion / disability requirementsDEI / Team BarrierefreiFacility, Event Management, Communication, Personnel or Study Affairs
Discrimination / equality / harassment concernAKGIndependent/confidential route; other units only as appropriate
STEP 5 · THE ACTUAL PROJECT PLAN

Your planning file should contain these components

Project Charter
Purpose, scope, non-scope, project type, host, lead, partners, start/end, outputs.
Role & responsibility matrix
Who decides, does, approves, is consulted and must be informed.
Work plan
Work packages, milestones, dependencies, decision points, public outputs and closure.
Budget baseline
Costs, funding source, co-funding, institutional resources, assumptions and contingencies.
People plan
Existing staff, new hires, external contributors, workload, contracts, onboarding and handover.
Procurement / infrastructure plan
Purchases, equipment, rooms, workshops, IT, logistics, safety and lead times.
Partner plan
Roles, budget interfaces, deliverables, agreements, IP, data, communication and escalation.
Rights / ethics / data plan
Third-party material, consent, personal data, licences, confidentiality and ethics review.
Communication / event plan
Audiences, media, publication, event needs, CI, accessibility and documentation.
Risk register
Funding, people, rights, data, schedule, supplier, technical, venue, partner and reputational risks.
Decision log
Important decisions, date, responsible person, reason and impact.
Closure / handover plan
Final files, reporting, repository/archive, equipment, accounts, access, retention and responsibilities.
STEP 6 · PLAN BACKWARDS

The external deadline is not your first deadline

Planning pointQuestion
External submission / public openingWhat must be complete and approved here?
Institutional approval / signatureWho needs final documents and review time?
Legal / partner agreementsWhat must be reviewed before submission?
Budget / personnel / procurement reviewAre rates, hires, purchases and resources realistic and permitted?
Project concept freezeWhen must scope, roles, work packages and outputs stop changing?
Partner inputWhen must partners deliver text, budgets, letters and approvals?
Internal startWhen must planning begin to make all of this possible?
STOP & CHECK

Project-planning red flags

No institutional home.
The project uses the University's name/resources but no host unit has accepted responsibility.
External commitment without approval.
A partner, funder, venue or supplier has been promised something before the internal route is clear.
People appear only as budget lines.
Employment/contract routes and lead times have not been checked.
Equipment appears only as a price.
Procurement, ownership, installation, IT, safety, maintenance and storage have not been planned.
Public output planned, rights unresolved.
Publication/exhibition/streaming has been promised without confirming rights, consent or data protection.
No owner for project end.
No one is responsible for final reporting, master files, repository/archive, equipment, accounts and access closure.
CONTINUE PLANNING

Related Enable topics

Need help structuring the project? For funded, artistic, scientific and arts-based research projects, Support Kunst und Forschung is a central coordination point. Bring a short project description, host unit, likely applicant, partners, duration, rough budget and the main things you need from the University.
Search terms & related topics
project planning · project organisation · project management · project governance · roles and responsibilities · RACI · work packages · timeline · milestones · dependencies · budget planning · risk management · project host · institute · department · Rektorat · Support Kunst und Forschung · third-party funding · finance · controlling · accounting · personnel · HR · contracts · legal · data protection · IT · digital services · procurement · room planning · facility management · event management · press and communication · international cooperation · mobility · library · doctoral project · teaching · curriculum · accessibility · diversity · equality · inclusion · AKG · works council · project partners · institutional approval · signing authority · decision log · handover
/* =========================================================
   MASTER TYPOGRAPHY
   ========================================================= */
#xwikicontent h1,
#xwikicontent h2,
#xwikicontent h3,
#xwikicontent h4,
#xwikicontent h5,
#xwikicontent h6,
#xwikicontent .box-title,
#xwikicontent [role="heading"],
#xwikicontent h1 a,
#xwikicontent h2 a,
#xwikicontent h3 a,
#xwikicontent h4 a,
#xwikicontent h5 a,
#xwikicontent h6 a,
#xwikicontent .box-title a,
#xwikicontent [role="heading"] a{
  text-align:left!important;
  text-justify:auto!important;
  word-spacing:normal!important;
}

/* =========================================================
   COMING SOON / IN VORBEREITUNG
   ========================================================= */
.sn-coming-soon-badge{
  display:inline-block;
  vertical-align:middle;
  margin-left:10px;
  padding:4px 8px;
  border-radius:14px;
  border:1px solid #efd9cc;
  background:#fff4ee;
  color:#8a4d36;
  font-size:11px;
  font-weight:700;
  letter-spacing:.055em;
  line-height:1.2;
  white-space:nowrap;
}

/* =========================================================
   NATIVE / DETAIL CALLOUT GEOMETRY
   Preserve existing backgrounds.
   ========================================================= */
#xwikicontent .arsn-info,
#xwikicontent .dmp-info,
#xwikicontent .ido-info,
#xwikicontent .pp-info,
#xwikicontent .infomessage{
  box-sizing:border-box!important;
  border-left:4px solid #21b6d7!important;
  border-radius:8px;
  text-align:left!important;
  word-spacing:normal!important;
}

#xwikicontent .arsn-warn,
#xwikicontent .dmp-warn,
#xwikicontent .ido-warn,
#xwikicontent .pp-warn,
#xwikicontent .warn,
#xwikicontent .warning,
#xwikicontent .warningmessage,
#xwikicontent .errormessage{
  box-sizing:border-box!important;
  border-left:4px solid #e94b13!important;
  border-radius:8px;
  text-align:left!important;
  word-spacing:normal!important;
}

[data-sn-master-equal-height],
[data-sn-master-first-row]{
  box-sizing:border-box;
}

/* =========================================================
   FULL-WIDTH THREE-LINE NUMBER / TITLE / SUBTITLE BLOCKS
   ========================================================= */
#xwikicontent .arsn-area-label[data-sn-three-line="1"]{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-auto-rows:auto!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  justify-items:start!important;
  align-items:start!important;
  gap:2px!important;
  text-align:left!important;
  text-align-last:left!important;
  text-justify:auto!important;
  word-spacing:normal!important;
  white-space:normal!important;
}
#xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-number,
#xwikicontent .arsn-area-label[data-sn-three-line="1"] > .sn-area-label-title,
#xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-action{
  display:block!important;
  width:100%!important;
  margin:0!important;
  text-align:left!important;
  text-align-last:left!important;
  text-justify:auto!important;
  word-spacing:normal!important;
  white-space:normal!important;
}
(function(){
  "use strict";

  var PAGE_KIND="detail";
  var PLACEHOLDER=false;
  var PLACEHOLDER_LABEL="COMING SOON";

  var MOBILE_MAX=767;
  var ROW_TOLERANCE=6;
  var RESIZE_DEBOUNCE=220;

  var root=
    document.getElementById("xwikicontent")||
    document.querySelector(".xwiki-rendering-content")||
    document.querySelector("main")||
    document.body;

  if(!root)return;

  var managedHeight=new Set();
  var managedMargin=new Set();
  var originalHeight=new WeakMap();
  var originalMargin=new WeakMap();

  var resizeTimer=0;
  var running=false;

  var THEMES=[
    {
      name:"BLUE",
      accent:"#21b6d7",
      bg:"#eaf7fb",
      text:"#315d68",
      labels:[
        "HIER STARTEN",
        "ENTSCHEIDEN",
        "ÜBERPRÜFEN & ANPASSEN",
        "START HERE",
        "DECIDE",
        "REVIEW & ADAPT"
      ]
    },
    {
      name:"RED",
      accent:"#e94b13",
      bg:"#fff1ec",
      text:"#8a4d36",
      labels:[
        "PLANEN & ORGANISIEREN",
        "ORGANISIEREN & DOKUMENTIEREN",
        "PUBLIZIEREN & PRÄSENTIEREN",
        "PLAN & ORGANISE",
        "PLAN & ORGANIZE",
        "ORGANISE & DOCUMENT",
        "ORGANIZE & DOCUMENT",
        "PUBLISH & PRESENT"
      ]
    },
    {
      name:"YELLOW",
      accent:"#f0aa00",
      bg:"#fff8e7",
      text:"#785b17",
      labels:[
        "SCHÜTZEN & KLÄREN",
        "STANDARDISIEREN & IDENTIFIZIEREN",
        "ÖFFNEN, NACHNUTZEN & AUFFINDBAR MACHEN",
        "PROTECT & CLARIFY",
        "STANDARDISE & IDENTIFY",
        "STANDARDIZE & IDENTIFY",
        "OPEN, REUSE & MAKE FINDABLE"
      ]
    },
    {
      name:"GREEN",
      accent:"#38b76a",
      bg:"#edf9f1",
      text:"#3f7451",
      labels:[
        "INFRASTRUKTUR EINRICHTEN",
        "INFRASTRUKTUR & ZUSAMMENARBEIT EINRICHTEN",
        "SPEICHERN & ZUGRIFF STEUERN",
        "REPOSITORIUM, ERHALTEN & ÜBERGEBEN",
        "SET UP INFRASTRUCTURE",
        "SET UP INFRASTRUCTURE & COLLABORATION",
        "STORE & CONTROL ACCESS",
        "REPOSITORY, PRESERVE & HAND OVER"
      ]
    }
  ];

  function num(value){
    var n=parseFloat(value);
    return Number.isFinite(n)?n:0;
  }

  function norm(value){
    return String(value||"")
      .replace(/\s+/g," ")
      .trim()
      .toUpperCase();
  }

  function visible(el){
    if(!el||el.nodeType!==1)return false;

    var style=getComputedStyle(el);
    var rect=el.getBoundingClientRect();

    return (
      style.display!=="none"&&
      style.visibility!=="hidden"&&
      rect.width>20&&
      rect.height>4
    );
  }

  function saveStyle(el,map,property){
    if(map.has(el))return;

    map.set(el,{
      value:el.style.getPropertyValue(property),
      priority:el.style.getPropertyPriority(property)
    });
  }

  function restoreStyle(el,map,property){
    var original=map.get(el);

    if(original&&original.value){
      el.style.setProperty(
        property,
        original.value,
        original.priority||""
      );
    }else{
      el.style.removeProperty(property);
    }
  }

  function resetRuntime(){
    managedHeight.forEach(function(el){
      restoreStyle(
        el,
        originalHeight,
        "min-height"
      );
      el.removeAttribute(
        "data-sn-master-equal-height"
      );
    });

    managedMargin.forEach(function(el){
      restoreStyle(
        el,
        originalMargin,
        "margin-top"
      );
      el.removeAttribute(
        "data-sn-master-first-row"
      );
    });

    managedHeight.clear();
    managedMargin.clear();
  }

  function themeFor(text){
    var value=norm(text);

    for(var i=0;i55
      ){
        return;
      }

      var rect=el.getBoundingClientRect();

      if(
        rect.width<80||
        rect.height<24
      ){
        return;
      }

      el.style.setProperty(
        "border",
        "none",
        "important"
      );

      el.style.setProperty(
        "border-left",
        "none",
        "important"
      );

      el.style.setProperty(
        "border-top",
        "none",
        "important"
      );

      el.style.setProperty(
        "border-right",
        "none",
        "important"
      );

      el.style.setProperty(
        "border-bottom",
        "none",
        "important"
      );

      el.style.setProperty(
        "box-shadow",
        "none",
        "important"
      );
    });
  }

  /* =======================================================
     FULL-WIDTH THREE-LINE AREA LABELS
     ======================================================= */

  function compactText(value){
    return String(value||"")
      .replace(/\s+/g," ")
      .trim();
  }

  function makeThreeLineAreaLabels(){
    Array.from(
      root.querySelectorAll(
        ".arsn-area-label"
      )
    ).forEach(function(label){
      if(
        label.getAttribute(
          "data-sn-three-line"
        )==="1"
      ){
        return;
      }

      var number=
        label.querySelector(
          ":scope > .arsn-area-number"
        );

      var action=
        label.querySelector(
          ":scope > .arsn-area-action"
        );

      if(
        !number||
        !action
      ){
        return;
      }

      var clone=
        label.cloneNode(true);

      var cloneNumber=
        clone.querySelector(
          ":scope > .arsn-area-number"
        );

      var cloneAction=
        clone.querySelector(
          ":scope > .arsn-area-action"
        );

      if(cloneNumber){
        cloneNumber.remove();
      }

      if(cloneAction){
        cloneAction.remove();
      }

      var titleText=
        compactText(
          clone.textContent
        );

      if(!titleText){
        return;
      }

      var numberNode=
        number.cloneNode(true);

      var actionNode=
        action.cloneNode(true);

      var titleNode=
        document.createElement(
          "span"
        );

      titleNode.className=
        "sn-area-label-title";

      titleNode.textContent=
        titleText;

      while(label.firstChild){
        label.removeChild(
          label.firstChild
        );
      }

      label.appendChild(
        numberNode
      );

      label.appendChild(
        titleNode
      );

      label.appendChild(
        actionNode
      );

      label.setAttribute(
        "data-sn-three-line",
        "1"
      );

      var head=
        label.closest(
          ".arsn-area-head"
        );

      if(head){
        head.style.setProperty(
          "width",
          "100%",
          "important"
        );

        head.style.setProperty(
          "max-width",
          "100%",
          "important"
        );

        head.style.setProperty(
          "box-sizing",
          "border-box",
          "important"
        );
      }
    });
  }

  /* =======================================================
     PLACEHOLDER BADGE
     ======================================================= */

  function applyPlaceholderBadge(){
    if(!PLACEHOLDER)return;

    if(
      document.querySelector(
        ".sn-coming-soon-badge"
      )
    ){
      return;
    }

    var title=
      document.querySelector(
        "#document-title"
      )||
      document.querySelector(
        "h1"
      );

    if(!title)return;

    var badge=
      document.createElement(
        "span"
      );

    badge.className=
      "sn-coming-soon-badge";

    badge.textContent=
      PLACEHOLDER_LABEL;

    badge.setAttribute(
      "aria-label",
      PLACEHOLDER_LABEL
    );

    title.appendChild(
      badge
    );
  }

  /* =======================================================
     DETAIL PAGE OWN-ACCENT PROPAGATION
     ======================================================= */

  function parseRGB(value){
    var match=String(value||"").match(
      /rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i
    );

    if(!match)return null;

    return [
      Number(match[1]),
      Number(match[2]),
      Number(match[3])
    ];
  }

  function distance(a,b){
    return Math.sqrt(
      Math.pow(a[0]-b[0],2)+
      Math.pow(a[1]-b[1],2)+
      Math.pow(a[2]-b[2],2)
    );
  }

  function paletteMatch(cssColor){
    var rgb=parseRGB(cssColor);

    if(!rgb)return null;

    var palette=[
      {hex:"#21b6d7",rgb:[33,182,215]},
      {hex:"#e94b13",rgb:[233,75,19]},
      {hex:"#f0aa00",rgb:[240,170,0]},
      {hex:"#38b76a",rgb:[56,183,106]}
    ];

    var best=null;
    var bestDistance=Infinity;

    palette.forEach(function(item){
      var d=distance(rgb,item.rgb);

      if(d=2
      ){
        var match=
          paletteMatch(
            style.borderTopColor
          );

        if(match){
          el.style.setProperty(
            "border-left",
            "4px solid "+match.hex,
            "important"
          );
        }
      }
    });

    // Warning families: explicit safety override.
    Array.from(
      root.querySelectorAll(
        ".arsn-warn,.dmp-warn,.ido-warn,.pp-warn,"+
        ".warn,.warning,.warningmessage,.errormessage"
      )
    ).forEach(function(el){
      if(!visible(el))return;

      el.style.setProperty(
        "border-left",
        "4px solid #e94b13",
        "important"
      );
    });

    // Info families: explicit orientation override.
    Array.from(
      root.querySelectorAll(
        ".arsn-info,.dmp-info,.ido-info,.pp-info,.infomessage"
      )
    ).forEach(function(el){
      if(!visible(el))return;

      el.style.setProperty(
        "border-left",
        "4px solid #21b6d7",
        "important"
      );
    });
  }

  /* =======================================================
     OVERVIEW SEMANTIC THEME PALETTE
     ======================================================= */

  function smallestThemeHeaders(){
    return Array.from(
      root.querySelectorAll(
        "div,span,p,strong,h3,h4,h5,h6"
      )
    ).filter(function(el){
      if(!visible(el))return false;
      if(!themeFor(el.textContent))return false;

      return !Array.from(
        el.children||[]
      ).some(function(child){
        return !!themeFor(
          child.textContent
        );
      });
    });
  }

  function findOverviewCard(header){
    var node=header.parentElement;
    var candidates=[];

    while(node&&node!==root){
      var rect=node.getBoundingClientRect();
      var style=getComputedStyle(node);

      var border=
        num(style.borderTopWidth)+
        num(style.borderRightWidth)+
        num(style.borderBottomWidth)+
        num(style.borderLeftWidth);

      if(
        rect.width>=220&&
        rect.width<=800&&
        rect.height>=120&&
        border>=1
      ){
        candidates.push(node);
      }

      node=node.parentElement;
    }

    if(!candidates.length)return null;

    candidates.sort(function(a,b){
      return (
        b.getBoundingClientRect().height-
        a.getBoundingClientRect().height
      );
    });

    return candidates[0];
  }

  function rowCandidates(link,card){
    var result=[];
    var cardRect=
      card.getBoundingClientRect();

    var node=link;

    while(node&&node!==card){
      if(visible(node)){
        var rect=
          node.getBoundingClientRect();

        if(
          rect.height<=105&&
          rect.width>=
            cardRect.width*.50&&
          rect.width<=
            cardRect.width*1.03
        ){
          result.push(node);
        }
      }

      node=node.parentElement;
    }

    return result;
  }

  function chooseOuterRow(
    candidates,
    link
  ){
    if(!candidates.length){
      return link;
    }

    var bordered=
      candidates.filter(function(el){
        return (
          num(
            getComputedStyle(el)
              .borderLeftWidth
          )>=1
        );
      });

    var pool=
      bordered.length
        ?bordered
        :candidates;

    pool.sort(function(a,b){
      var ar=
        a.getBoundingClientRect();

      var br=
        b.getBoundingClientRect();

      return (
        ar.left-br.left||
        br.width-ar.width
      );
    });

    return pool[0]||link;
  }

  function applyOverviewPalette(){
    if(PAGE_KIND!=="overview"){
      return [];
    }

    var headers=
      smallestThemeHeaders()
        .map(function(el){
          return {
            el:el,
            theme:
              themeFor(
                el.textContent
              ),
            card:
              findOverviewCard(
                el
              )
          };
        })
        .filter(function(row){
          return !!row.card;
        });

    var unique=[];
    var seenHeaders=new Set();

    headers.forEach(function(row){
      var key=
        row.theme.name+
        "|"+
        Math.round(
          row.card
            .getBoundingClientRect()
            .left
        )+
        "|"+
        Math.round(
          row.el
            .getBoundingClientRect()
            .top
        );

      if(!seenHeaders.has(key)){
        seenHeaders.add(key);
        unique.push(row);
      }
    });

    unique.forEach(function(row){
      var headerRect=
        row.el
          .getBoundingClientRect();

      row.el.style.setProperty(
        "background",
        row.theme.bg,
        "important"
      );

      row.el.style.setProperty(
        "color",
        row.theme.text,
        "important"
      );

      row.el.style.setProperty(
        "text-align",
        "left",
        "important"
      );

      row.el.style.setProperty(
        "word-spacing",
        "normal",
        "important"
      );

      var later=
        unique
          .filter(function(other){
            return (
              other.card===row.card&&
              other.el
                .getBoundingClientRect()
                .top>
                headerRect.top+2
            );
          })
          .sort(function(a,b){
            return (
              a.el
                .getBoundingClientRect()
                .top-
              b.el
                .getBoundingClientRect()
                .top
            );
          });

      var stopTop=
        later.length
          ?later[0].el
              .getBoundingClientRect()
              .top
          :Infinity;

      Array.from(
        row.card.querySelectorAll("a")
      ).forEach(function(link){
        if(!visible(link))return;

        var rect=
          link.getBoundingClientRect();

        if(
          rect.top<=
            headerRect.bottom-2||
          rect.top>=
            stopTop-2
        ){
          return;
        }

        var candidates=
          rowCandidates(
            link,
            row.card
          );

        var target=
          chooseOuterRow(
            candidates,
            link
          );

        candidates.forEach(function(el){
          el.style.setProperty(
            "border-left",
            "0 solid transparent",
            "important"
          );
        });

        target.style.setProperty(
          "border-left",
          "3px solid "+
            row.theme.accent,
          "important"
        );

        target.style.setProperty(
          "box-sizing",
          "border-box",
          "important"
        );
      });
    });

    return unique;
  }

  /* =======================================================
     OVERVIEW CARD HEIGHT + FIRST THEMATIC ROW
     ======================================================= */

  function alignOverviewCards(headers){
    if(
      PAGE_KIND!=="overview"||
      window.innerWidth<=MOBILE_MAX
    ){
      return;
    }

    var cards=[];
    var seen=new Set();

    headers.forEach(function(row){
      if(!seen.has(row.card)){
        seen.add(row.card);
        cards.push(row.card);
      }
    });

    if(cards.length<2){
      return;
    }

    // Group cards by actual top position.
    var groups=[];

    cards.forEach(function(card){
      var top=
        card.getBoundingClientRect().top;

      var group=null;

      for(var i=0;i1){
            saveStyle(
              row.el,
              originalMargin,
              "margin-top"
            );

            var current=
              num(
                getComputedStyle(
                  row.el
                ).marginTop
              );

            row.el.style.setProperty(
              "margin-top",
              (
                current+delta
              )+"px"
            );

            row.el.setAttribute(
              "data-sn-master-first-row",
              "1"
            );

            managedMargin.add(
              row.el
            );
          }
        });
      }

      var maxHeight=0;

      group.cards.forEach(function(card){
        maxHeight=
          Math.max(
            maxHeight,
            card
              .getBoundingClientRect()
              .height
          );
      });

      maxHeight=
        Math.ceil(maxHeight);

      group.cards.forEach(function(card){
        saveStyle(
          card,
          originalHeight,
          "min-height"
        );

        card.style.setProperty(
          "min-height",
          maxHeight+"px"
        );

        card.setAttribute(
          "data-sn-master-equal-height",
          "1"
        );

        managedHeight.add(
          card
        );
      });
    });
  }

  /* =======================================================
     DETAIL GRID EQUAL HEIGHT, DESKTOP ONLY
     ======================================================= */

  function equaliseDetailGrids(){
    if(
      PAGE_KIND!=="detail"||
      window.innerWidth<=MOBILE_MAX
    ){
      return;
    }

    var selectors=[
      ".arsn-grid",
      ".arsn-grid-2",
      ".arsn-grid-3",
      ".dmp-grid",
      ".ido-grid",
      ".pp-grid"
    ];

    selectors.forEach(function(selector){
      Array.from(
        root.querySelectorAll(selector)
      ).forEach(function(grid){
        var children=
          Array.from(
            grid.children||[]
          ).filter(visible);

        if(children.length<2){
          return;
        }

        var groups=[];

        children.forEach(function(child){
          var top=
            child
              .getBoundingClientRect()
              .top;

          var group=null;

          for(var i=0;i
        MOBILE_MAX
      ){
        alignOverviewCards(
          headers
        );

        equaliseDetailGrids();
      }
    }finally{
      running=false;
    }
  }

  function onResize(){
    if(resizeTimer){
      clearTimeout(
        resizeTimer
      );
    }

    resizeTimer=
      setTimeout(
        function(){
          resizeTimer=0;
          run();
        },
        RESIZE_DEBOUNCE
      );
  }

  async function waitForReady(){
    if(
      document.readyState!=="complete"
    ){
      await new Promise(function(resolve){
        window.addEventListener(
          "load",
          resolve,
          {once:true}
        );
      });
    }

    if(
      document.fonts&&
      document.fonts.ready
    ){
      try{
        await document.fonts.ready;
      }catch(error){}
    }

    var images=
      Array.from(
        root.querySelectorAll("img")
      );

    await Promise.all(
      images.map(function(img){
        if(img.complete){
          return Promise.resolve();
        }

        return new Promise(function(resolve){
          var done=function(){
            resolve();
          };

          img.addEventListener(
            "load",
            done,
            {once:true}
          );

          img.addEventListener(
            "error",
            done,
            {once:true}
          );
        });
      })
    );

    run();
  }

  window.addEventListener(
    "resize",
    onResize,
    {passive:true}
  );

  waitForReady();
})();